为了账号安全,请及时绑定邮箱和手机立即绑定

如何同时运行两个jQuery动画?

如何同时运行两个jQuery动画?

慕娘9325324 2019-08-30 14:21:17
是否可以同时在两个不同的元素上运行两个动画?我需要Jquery排队动画这个问题的反面。我需要做这样的事......$('#first').animate({ width: 200 }, 200);$('#second').animate({ width: 600 }, 200);但要同时运行这两个。我唯一能想到的就是setTimeout每个动画使用一次,但我不认为这是最好的解决方案。
查看完整描述

4 回答

?
慕村1189960

TA贡献1条经验 获得超0个赞

  • 如果是单个元素多个属性同时变化,你只需要在第一个参数中,同时传入多个属性就行。

var div=$("div");  
div.animate({left:'100px',width:'200px'},{speed:"slow"});
默认情况下animate会将动画注册到内部的queue队列里依次执行。
  • 如果希望多个animate调用同时执行,而不是依次执行,只需要在第二个参数中将queue设置为false

var div=$("div");  
div.animate({left:'100px'},{speed:"slow", queue:false});//不进入队列,立刻执行
div.animate({width:'200px'},{speed:"slow", queue:false});//不进入队列,立刻执行


查看完整回答
反对 回复 2020-11-07
?
HUWWW

TA贡献1874条经验 获得超12个赞

就在这里!


$(function () {

    $("#first").animate({

       width: '200px'

    }, { duration: 200, queue: false });


    $("#second").animate({

       width: '600px'

    }, { duration: 200, queue: false });

});


查看完整回答
反对 回复 2019-08-30
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

这将是同时运行的。如果你想同时在同一个元素上运行两个动画怎么办?


$(function () {

    $('#first').animate({ width: '200px' }, 200);

    $('#first').animate({ marginTop: '50px' }, 200);

});

这最终排队动画。要同时运行它们,你只能使用一行。


$(function () {

    $('#first').animate({ width: '200px', marginTop:'50px' }, 200);

});

有没有其他方法可以同时在同一个元素上运行两个不同的动画?


查看完整回答
反对 回复 2019-08-30
  • 4 回答
  • 0 关注
  • 2132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信