2011-04-28 39 views
3

我写了一个小动画脚本,从左到右淡化一组条纹。所有动画完成后,回调函数就会运行。jQuery动画() - 完全发射太快

脚本是在这里:

http://jsfiddle.net/9zkbu/

它工作正常,但我想为从右到左的动画做同样的:

http://jsfiddle.net/FTrhX/

,你可以看到回调函数在动画结束之前被触发:( 我改变的唯一的事情是delay()。我在这里做错了什么?为什么在所有动画之前“完成”运行f inish?

回答

3

你几乎在那里,你确实扭转了方向,但忘记了回调也解释了逆转。这样做对我的作品:

complete: (i == 0) ? function(){alert('done');} : null 

因为你,如果你试图在检查完整的cols计数的另一个方向 - 1,你会得到它的太早,你需要比0拿到这里。尝试这一个:http://jsfiddle.net/FTrhX/8/

+0

谢谢!我花了半个小时试图弄清楚这一点:x – Alex 2011-04-28 20:56:20

2

我看着你的预览,我真的很感动!虽然我不明白为什么.stop()是需要在第二个功能。

$('.col-' + i).delay(50 * (cols - i)) 

这种方式也行得通,或者我错过了什么?