2011-10-22 20 views
1

この関数は、各関数内の各アニメーションを遅延させたいと考えています。それは次々に起こります。現時点では、彼らはすべて一緒に来る。あなたはeachに渡す各関数内のJQueryキュー/遅延()

$('.bounceholder ul:eq(' + bounceholder + ') li').each(function(){ 
      $(this).delay(1000).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}); 
      bounceoffset += 160; 
     }); 

答えて

3

ブロック/関数は、最初の引数としてカウンタ/インデックスを受け入れることができます。

$('.bounceholder ul:eq(' + bounceholder + ') li').each(function(i){ 
    delay = (i + 1) * 1000 
    $(this).delay(delay).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}); 
    bounceoffset += 160; 
}); 
0
function DoAnimation(items, delay, bounceOffSet) { 
    $(items[0]).animate({left: bounceoffset, top:-8, opacity:0.6, leaveTransforms:true}, {duration:600, queue:true}) 
     .delay(delay) 
     .promise() 
     .done(function() { 
      items.splice(0, 1); 
      if (items.length > 0) 
      { 
       DoAnimation(items, delay, bounceOffSet + 160);  
      }    
    });  
} 

var items = $('.bounceholder ul:eq(' + bounceholder + ') li'); 

DoAnimation(items, 1000, 0);