【发布时间】:2012-04-14 15:26:15
【问题描述】:
我想将未知数量的事件串在一起。基本上,我是从一个长数组中得到它们的。我正在使用 CoffeeScript 和 jquery。目前,我有:
function recursive(){
if (arr.length>0)
item = arr.shift()
stander.animate({
left: 100,
},{
duration: 100,
complete: => @recursive
})
}
但是我的堆栈跟踪变得非常长而且令人困惑。如果我尝试使用 while 循环,则所有数组元素都会一次全部运行。
while (arr.length>0 && previousAnimationEnded <- PSEUDO CODE)
item = arr.shift()
stander.animate({
left: 100,
},{
duration: 100,
})
}
这将防止进行如此长的堆栈调用。我的问题是,除了回调之外,jQuery、js 或 CoffeeScript 是否是链接动画事件的更明智的方式?
【问题讨论】:
-
您应该能够将 .animate() 调用链接在一起,它们将排队等待一个接一个地执行。请参阅此处的文档示例:api.jquery.com/animate/#example-2
-
有趣。我看到他们在同一个项目上有 xyz.animate().animate()。我需要能够对不同的项目做不同的动画。例如,对头部进行动画处理,然后在头部动画完成后,对脚进行动画处理,然后在脚完成动画处理后,对手指进行动画处理...
标签: javascript jquery coffeescript jquery-animate