2017-08-30 14 views
1

私は次のコードを使って30秒ごとに関数を実行しています。ユーザーがjs/jQueryを使用してマウスをクリックした場合、setIntervalをリセットまたは再起動するにはどうすればよいですか?ユーザーが30秒の間、クリックするのであれば、30新秒などをクリックし、次まで開始されますクリック時にsetIntervalに時間を追加しますか?

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

(// 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); 
関連する問題