2012-04-28 69 views
0

我試圖讓我的飛船飛向左下對角飛行,但我不能讓它重置做同樣的循環再次,任何幫助將很酷。循環一個對角動畫

$(document).ready(function() { 
    setTimeout("spaceship1()",400); 
    }); 

function spaceship1(){ 
    $("#spaceship1").animate({ 
      left:"-=800px", 
      top:"+=800px" 
    },2000).animate({ 
      top:"-800px" 
    },0); 
    setTimeout("spaceship1()",2000); 
    } 
} 

回答

0

您可以使用函數完成從動畫調度/開始下一輪的動畫,並請不要setTimeout()使用字符串,用實際的函數引用不喜歡這樣。

你的動畫也不會循環回到它開始的位置,所以你必須修復它,使它成爲一個完整的循環。如果沒有,它將不會返回到它的原始位置。我不確定這是否是有意的。

$(document).ready(function() { 

    function spaceship1() { 
     $("#spaceship1").animate({ 
       left:"-=800px", 
       top:"+=800px" 
     },2000).animate({top:"-800px"}, 2000, function() { 
      setTimeout(spaceship1, 2000); 
     }); 
    } 

    setTimeout(spaceship1, 400); 
}); 
+0

呃,在您的代碼中有錯誤 – Starx 2012-04-28 17:57:01

+0

@Starx - 刪除了額外大括號。 – jfriend00 2012-04-28 18:00:40