无需插件的 jQuery 链式动画
在使用 jQuery 之前,我可以做一个有延迟的链式动画,如下所示:
$("#element").delay(45).animate({ }, 45)
.delay(45).animate({ }, 45)
.delay(45).animate({ }, 45);
现在,自从更新到 v1.6.1 而不是执行以前的操作,它现在跳到最后一个动画。忽略前面的陈述。我知道我可以为每个动画执行一个 oncomplete 回调,但这会变得很混乱:
$("#element").delay(45).animate({ }, 45, function(){
$("#element").delay(45).animate({ }, 45, function(){
$("#element").delay(45).animate({ }, 45);
})
})
有谁知道我如何以简单干净的方式完成此任务?
Before with jQuery I could do a chained animation with a delay between like so:
$("#element").delay(45).animate({ }, 45)
.delay(45).animate({ }, 45)
.delay(45).animate({ }, 45);
Now since the update to v1.6.1 instead of doing what it did previously, it now skips to the last animation. Ignoring the previous statements. I know I can do an oncomplete callback for each animation but that just get's messy:
$("#element").delay(45).animate({ }, 45, function(){
$("#element").delay(45).animate({ }, 45, function(){
$("#element").delay(45).animate({ }, 45);
})
})
Does anyone know how I can accomplish this in a simple clean way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:添加了一个Fiddle供你玩
我写了这段代码不久前,也许它对你有用? (抱歉缩进混乱)
Edit: added a Fiddle for you to play with
I wrote this piece of code a while ago, perhaps it's useful for you? (sorry for the messy indenting)
这是要求的第二种方式。我将其发布在另一个答案中,因为它更复杂,而且可能不太美观。要使用它,请参阅:http://jsfiddle.net/LMptt/1/
用法:使用带有+或-的字符串来指示相对时间戳。顺序对于相对时间戳(相对于前一个操作)很重要。使用“+0”或“-0”表示与前一个时间戳相同的时间戳。绝对时间戳(整数)可以放置在列表中的任何位置。
Here is the second way as requested. I post it in another answer, because it is more complex, and perhaps less beautiful. To play with it see: http://jsfiddle.net/LMptt/1/
Usage: use a string with + or - to indicate a relative timestamp. The order matters for relative timestamps (relative to the previous action that is). Use "+0" or '-0' for the same timestamp as the previous one. Absolute timestamps (integers) can be put anywhere in the list.