2013-05-14 26 views
0

我想创造一些瓷砖随机地向上和向下移动一个div它与财产一个div内里“溢出:隐藏”在第一次动画之后我把它叫做div动画不工作?

setInterval(function(){ 
     for(i=0;i<len;i++){ 
     if($(".contacttiles").eq(i).attr('noanimate')!='true'){ 
      $(".contacttiles").eq(i).delay(Math.floor((Math.random()*3000)+1)).animate({top:-120},1000,function(){ 
      $(".contacttiles").eq(i).delay(3000).animate({top:0},1000); 
      }) 
     } 
     } 
    }) 
    },7000) 

这里的“contacttiles”是类中的div这应该移动包括 动画第一部分工作正常。瓷砖上升。但第二部分不起作用。我尝试了一个alert('hi')和第二部分中另一个元素的动画,他们都工作。然而,上述代码的第二部分不起作用。

回答

2

当您传递给delay的函数运行时,变量i将为undefined

尝试将范围的内容进行循环:

setInterval(function() { 
    for (var i = 0; i < len; i++) { 
     (function (i) { 
      if ($(".contacttiles").eq(i).attr('noanimate') != 'true') { 
       $(".contacttiles").eq(i).delay(Math.floor((Math.random() * 3000) + 1)).animate({ 
        top: -120 
       }, 1000, function() { 
        $(".contacttiles").eq(i).delay(3000).animate({ 
         top: 0 
        }, 1000); 
       }) 
      } 
     })(i) 
    } 
}, 7000)