Javascript 将操作推迟到.each()完成

Javascript 将操作推迟到.each()完成,javascript,jquery,promise,each,jquery-deferred,Javascript,Jquery,Promise,Each,Jquery Deferred,我有以下方法: function animatePortfolio(fadeElement) { fadeElement.children('article').each(function(index) { $(this).delay(1000*index).fadeIn(900); }); } 我想推迟一项行动,直到。每项行动都已全部完成。假设这是我需要使用的延迟/承诺的某个版本,但不了解在这种情况下它将如何工作。这可以通过done函数来完成 function

我有以下方法:

function animatePortfolio(fadeElement) {
    fadeElement.children('article').each(function(index) {
        $(this).delay(1000*index).fadeIn(900);
    });
}
我想推迟一项行动,直到。每项行动都已全部完成。假设这是我需要使用的延迟/承诺的某个版本,但不了解在这种情况下它将如何工作。

这可以通过done函数来完成

function animatePortfolio(fadeElement) {
   fadeElement.children('article').each(function(index) {
      $(this).delay(1000*index).fadeIn(900);
  }).promise().done(function(){
     // do aditional animation here 
   });
 }
或 当函数被调用时,在那里执行它

    animatePortfolio(fadeElement).promise().done(function(){

     // do things here 
    });
这可以通过done函数完成

function animatePortfolio(fadeElement) {
   fadeElement.children('article').each(function(index) {
      $(this).delay(1000*index).fadeIn(900);
  }).promise().done(function(){
     // do aditional animation here 
   });
 }
或 当函数被调用时,在那里执行它

    animatePortfolio(fadeElement).promise().done(function(){

     // do things here 
    });

可以使用动画返回的promise对象

函数animatePortfoliofadeElement{ fadeElement.儿童文章.每个功能索引{ $this.delay1000*index.fadeIn900; }.允诺{ css'color'、'red' }; } animatePortfolio$'div' 文章{ 显示:无; } 1. 2. 3. 4.
可以使用动画返回的promise对象

函数animatePortfoliofadeElement{ fadeElement.儿童文章.每个功能索引{ $this.delay1000*index.fadeIn900; }.允诺{ css'color'、'red' }; } animatePortfolio$'div' 文章{ 显示:无; } 1. 2. 3. 4. 不要使用done with animation承诺,因为如果任何一个都处于目标状态,那么它就不会启动。使用“始终”代替

不要使用done with animation承诺,因为如果任何一个都处于目标状态,那么它就不会启动。使用“始终”代替


应该采取什么行动deferred@ArunPJohny另一个动画需要在所有元素消失后进行。正如我在下面所说的,不要使用done with animation承诺。使用“始终”代替。请参阅下面的答案。应该采取什么行动deferred@ArunPJohny另一个动画需要在所有元素消失后进行。正如我在下面所说的,不要使用done with animation承诺。使用“始终”代替。请看下面的答案。哦,等待元素而不是它的子元素真是太好了。@Benjamin Grunbaum:这是错误的。它正在等待儿童动画队列的集体承诺,而不是父元素。每次调用的返回值都是以前的子集合。我并没有同时欣赏这两个元素。promise和。done需要同时使用。哦,等待元素而不是它的子元素真是太好了。@Benjamin Gruenbaum:这是错误的。它正在等待儿童动画队列的集体承诺,而不是父元素。每次调用的返回值都是以前的子集合。我没有同时欣赏这两个词。承诺和。完成需要同时使用。