我有一个到处都是动画(JQuery Animation)的网页。典型的动画序列可以包含同时独立动画的三个或四个对象。我面临的问题是动画的队列是不可预测的。有些动画是同时运行的,而另一些则不是。
我正在做类似这样的事情
setTimeout(function(){
//animations
}, delay);在许多地方,只是尝试和分组的动画。即使在使用它时,代码块中的一些动画也不会同时运行。
有没有办法强制动画在同一时间运行?有没有办法用动画填充队列,然后同时执行这些动画?有没有关于这个东西实际工作原理的全面文档?
编辑:Sample code警告:代码混乱
问题是看着代码,你如何知道哪些动画将同时运行?
发布于 2010-07-20 00:33:54
这会同时运行(但如果对象上已经有正在进行的动画,则不会):
$('.blabla .2').animate({opacity: 0.3, fontSize: 20}, 800);如果你想100%确定它是立即动画的(请注意queue:false):
$('.blabla .1').animate({fontSize: 20},{queue:false,duration:800});您也可以这样做。(它仍将同时运行)
$('.blabla .1')
.animate({fontSize: 20},{queue:false,duration:800})
.animate({opacity: 0.4},{queue:false,duration:800});这将一个接一个地运行。
$('.blabla .1').animate({opacity: 0.3}, 800).animate({fontSize: 20}, 800);这个也是如此。
$('.blabla .2').animate({opacity: 0.3}, 800, function() {
$('.blabla .3').animate({opacity: 0.3}, 800);
});我希望这回答了你的问题。
很抱歉所有的编辑,我是新来的。
发布于 2010-07-20 00:38:58
使用step选项。你给它一个函数,在当前动画的每一步之后,它将执行该函数。因此,您可以在那里设置动画。Link to docs。
https://stackoverflow.com/questions/3282506
复制相似问题