【发布时间】:2011-04-28 20:44:37
【问题描述】:
我写了一个小动画脚本,从左到右淡化一组条纹。在所有动画完成后,应该运行回调函数。
脚本在这里:
效果很好,但我想为从右到左的动画做同样的事情:
正如你所见,回调函数在动画结束前被触发:(
我唯一改变的是delay()。我在这里做错了什么?为什么在所有动画完成之前“完成”运行?
【问题讨论】:
标签: javascript jquery jquery-animate jquery-effects
我写了一个小动画脚本,从左到右淡化一组条纹。在所有动画完成后,应该运行回调函数。
脚本在这里:
效果很好,但我想为从右到左的动画做同样的事情:
正如你所见,回调函数在动画结束前被触发:(
我唯一改变的是delay()。我在这里做错了什么?为什么在所有动画完成之前“完成”运行?
【问题讨论】:
标签: javascript jquery jquery-animate jquery-effects
你快到了,你确实反转了方向,但忘记了回调也解释了反转。这样做对我有用:
complete: (i == 0) ? function(){alert('done');} : null
因为如果您尝试在 cols 处检查完成,您正在计算另一个方向 - 1 您会太早得到它,您需要在此处获取它 0。试试这个:http://jsfiddle.net/FTrhX/8/
【讨论】:
我看了你的两个预览,我真的很感动!虽然我不明白为什么第二个函数需要.stop()。
$('.col-' + i).delay(50 * (cols - i))
这种方式也很好用,还是我遗漏了什么?
【讨论】: