2013-06-23 31 views
0

...我已經尋找了回答我的問題,但無濟於事。的Javascript Infinte環

我有一輛車的駕駛動畫來回在屏幕上,並想出如何翻轉圖像,當它到達屏幕的右側,然後再當它到達左側。但是,我需要循環這個JS事件,這樣的動畫不斷顯示汽車行駛在正確的「方向」。下面的代碼應該給你什麼,我有工作的想法,因此,如果任何人都可以這麼好心幫助這個初學者弄清楚如何使它無限循環,我將不勝感激。

* tl/dr

基本上我需要下面的代碼來循環無限。謝謝:)

var carorange = $('.org-car'); 
    setTimeout(function() { 
     carorange.addClass('flipimg'); 
    }, 5000); 
    setTimeout(function() { 
     carorange.removeClass('flipimg'); 
    }, 10000); 

回答

2

使用setInterval而不是setTimeout

var carorange = $('.org-car'); 
setInterval(function() { 
    carorange.toggleClass('flipimg'); 
}, 5000); 

setInterval有諾特爾很大的優勢:您可以停止的時間間隔。因此,如果您將間隔分配給一個變量,如var myTimer = setInterval...,則可以在任何時候使用clearInterval(myTimer);來停止它:)

+1

Nit:setTimeout也可以取消,所以對於setInterval它不是一個「巨大優勢」(並且取消不是必須比重新啓動或立即終止回調更容易)。 setInterval在計劃下一個時間點時具有輕微的「重新啓動」優勢/差異,但就是這樣。見http://stackoverflow.com/a/729943/2246674 – user2246674

+0

使用兩個區間是不是一個好主意。一段時間後他們可能會不同步。只需使用一個'5000'毫秒間隔,並切換課程。 –

+0

瘋狂的火車是完全正確的。我只是想快速幫忙! ;)我編輯了答案。 –