运行回调函数

问题描述:

好吧,我有下面的代码把不透明度DIV DIV后,函数运行后它需要500毫秒再次运行,我需要它来运行函数100毫秒或更少,在以前的动画。运行回调函数

这里是我的jQuery代码:

var children = []; 
     $("#prod-general").children().each(function() { 
      children.push(this); 
     }); 

     function fadeThemOut(children) { 
      if (children.length > 0) { 
       var currentChild = children.shift(); 
       $(currentChild).set.animate({ 
        'opacity': '1'}, 
        500, function() { 
         fadeThemOut(children); 
       }); 
      } 
     } 

这里是一个小提琴:http://jsfiddle.net/r5bqatpz/2/

+0

为什么不把100而不是500 – 2014-09-01 18:24:26

+0

@EhsanSajjad因为动画的速度会非常快,它需要是缓慢的,但该功能的执行时间应较小... – 2014-09-01 18:28:03

使用超时:

var children = []; 
    $("#prod-general").children().each(function() { 
     children.push(this); 
    }); 

    function fadeThemOut(children) { 
     if (children.length > 0) { 
      var currentChild = children.shift(); 
      $(currentChild).set.animate({ 
       'opacity': '1'}, 
       500, function() { 
        //fadeThemOut(children); 
      }); 
      setTimeout(function() { 
       fadeThemOut(children); 
      },100); 
     } 
    } 

这里是一个小提琴: http://jsfiddle.net/r5bqatpz/3/

+0

就是这样!解决了我的问题。非常感谢! – 2014-09-01 18:29:55

+0

不用担心。如果有帮助,请接受答案。 – 2014-09-01 18:31:30

+0

@JanHommes只需要等待15分钟,OP就可以做到。 – 2014-09-01 18:34:05

正确解;这种替换你的方法: -

function fadeThemOut(children) { 
    if (children.length > 0) { 
     var currentChild = children.shift(); 
     $(currentChild).animate({ 
       'opacity': '1' 
      }, 
      500); 
     var myVar = setInterval(function() { 
      fadeThemOut(children); 
     }, 100); 

    } 
}