jQuery animation() - 太快完成解雇

时间:2011-04-28 20:44:37

标签: javascript jquery jquery-animate jquery-effects

我写了一个小动画脚本,从左到右淡化一组条纹。在所有动画完成后,回调函数应该运行。

脚本在这里:

http://jsfiddle.net/9zkbu/

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

http://jsfiddle.net/FTrhX/

正如您所见,动画结束前会触发回调函数:( 我唯一改变的是delay()。我在这做错了什么?为什么在所有动画完成之前“完成”运行?

2 个答案:

答案 0 :(得分:3)

你几乎就在那里,你确实扭转了方向,但忘记了回调也说明了逆转。这样做对我有用:

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

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

答案 1 :(得分:2)

我看了你的预览,我真的很感动!虽然我不明白为什么在第二个函数中需要.stop()

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

这种方式也可以,或者我错过了什么?