2017-08-30 44 views
1

我使用下面的代碼每30秒運行一個函數。如果用戶用js/jQuery單擊鼠標,如何重置/重新啓動setInterval?因此,如果用戶在30秒內點擊,30秒的新開始,直到下次點擊等添加時間點擊setInterval?

setInterval(function(){ 
    // Stuff 
}, 30000); 
+1

[檢測空閒時間在JavaScript典雅](// stackoverflow.com/q/667555),[檢測用戶不活動在一個瀏覽器 - 純粹通過JavaScript(// stackoverflow.com/q/13246378), [如何知道瀏覽器的空閒時間?](// stackoverflow.com/q/9564602) – Tushar

回答

4

你必須清除舊間隔,並開始一個新的

var i = setInterval(function(){ 
    // Stuff 
}, 30000); 

element.onclick = function() { 
    clearInterval(i); 
    i = setInterval(function(){ 
     // Stuff 
    }, 30000); 
} 
0

你需要清除間隔。

clearInterval(i);