首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制jQuery动画同时运行?

如何强制jQuery动画同时运行?
EN

Stack Overflow用户
提问于 2010-07-19 23:32:26
回答 2查看 1.6K关注 0票数 6

我有一个到处都是动画(JQuery Animation)的网页。典型的动画序列可以包含同时独立动画的三个或四个对象。我面临的问题是动画的队列是不可预测的。有些动画是同时运行的,而另一些则不是。

我正在做类似这样的事情

代码语言:javascript
复制
   setTimeout(function(){
       //animations
    }, delay);

在许多地方,只是尝试和分组的动画。即使在使用它时,代码块中的一些动画也不会同时运行。

有没有办法强制动画在同一时间运行?有没有办法用动画填充队列,然后同时执行这些动画?有没有关于这个东西实际工作原理的全面文档?

编辑:Sample code警告:代码混乱

问题是看着代码,你如何知道哪些动画将同时运行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-20 00:33:54

这会同时运行(但如果对象上已经有正在进行的动画,则不会):

代码语言:javascript
复制
 $('.blabla .2').animate({opacity: 0.3, fontSize: 20}, 800);

如果你想100%确定它是立即动画的(请注意queue:false):

代码语言:javascript
复制
$('.blabla .1').animate({fontSize: 20},{queue:false,duration:800});

您也可以这样做。(它仍将同时运行)

代码语言:javascript
复制
$('.blabla .1')
   .animate({fontSize: 20},{queue:false,duration:800})
   .animate({opacity: 0.4},{queue:false,duration:800});

这将一个接一个地运行。

代码语言:javascript
复制
$('.blabla .1').animate({opacity: 0.3}, 800).animate({fontSize: 20}, 800);

这个也是如此。

代码语言:javascript
复制
$('.blabla .2').animate({opacity: 0.3}, 800, function() {
    $('.blabla .3').animate({opacity: 0.3}, 800);
});

我希望这回答了你的问题。

很抱歉所有的编辑,我是新来的。

票数 8
EN

Stack Overflow用户

发布于 2010-07-20 00:38:58

使用step选项。你给它一个函数,在当前动画的每一步之后,它将执行该函数。因此,您可以在那里设置动画。Link to docs

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3282506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档