IC_ Asked:2020-02-15 14:10:48 +0000 UTC2020-02-15 14:10:48 +0000 UTC 2020-02-15 14:10:48 +0000 UTC jQuery 异步动画 772 如何使animate两者show异步(同时执行)?试过这样做但没用 $.when( $(".obj1").show(200).promise(), $(".obj2").animate(200).promise()) .done(function() { //stuff }); 上面的代码自然是简写了,但是我传达了本质 jquery 1 个回答 Voted Best Answer Crantisz 2020-02-15T14:35:10Z2020-02-15T14:35:10Z 您的代码基本上可以正常工作: $.when( $(".obj1").hide(700).promise(), $(".obj2").fadeOut(800).promise() ).done(function() { console.log('fin') }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="obj1">1</div> <div class="obj2">2</div> 动画同时运行,当两个动画都完成时,代码被执行。 更详细地描述什么不适合你以及你想做什么。 我如何仅使用回调hide 如果您只需要一个动画的回调,那么这样做会容易得多:将函数作为第二个参数hide()(或 show(), 或 fadeIn()等) $(".obj1").hide(700,function() { console.log('fin obj1') }) $(".obj2").fadeOut(1000,function() { console.log('fin obj2') }) <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="obj1">1</div> <div class="obj2">2</div>
您的代码基本上可以正常工作:
动画同时运行,当两个动画都完成时,代码被执行。
更详细地描述什么不适合你以及你想做什么。
如果您只需要一个动画的回调,那么这样做会容易得多:将函数作为第二个参数
hide()(或show(), 或fadeIn()等)