2011-03-24 90 views
0

使用JQuery。每个函数()它同时在所有元素上运行。相反,我希望它是连续的。因此,在一个功能操作一旦完成第二等。等等。JQuery的每个函数如何强制连续运行

$('#fader').children().hide(); 

$('#fader').children().each(function(){ 

     $(this).fadeIn(2000,function(){ 
      $(this).delay(4000); 
      $(this).fadeOut(2000); 
     });  
    }); 

回答

1

你可以用这样的递归函数做到这一点:

function fader(elm) { 
    elm.fadeIn(2000, function(){ 
    elm.delay(4000); 
    elm.fadeOut(2000, function() { 
     if (elm.next()) { 
     fader(elm.next()); 
     } 
    }); 
    }); 
} 

$('#fader').children().hide(); 

fader($('#fader').children(':first')); 
+0

辉煌。如何使其循环一次完成 – 2011-03-24 15:48:36

+0

setInterval(function(){fader($('#fader')。children(':first'));},1000); - 这将一遍又一遍地停顿1秒; – dioslaska 2011-03-24 16:12:37

+0

它去哪里 – 2011-03-24 16:15:58