1

mousemove または scroll で、タイマーが実行されていない場合はタイマーをリセットし、タイマー関数内で関数を1回実行します。これまでのところ、私はこれを持っています...

var timerId,
    lastActive = new Date().getTime(),
    token;

var timerFunc = function () {

   var currentTime = new Date().getTime();
   var timeDiff = currentTime - lastActive;
   if (timeDiff > 10000) {
     //clearInterval(timerId);
   }

      //I want to do some logic here
      // but only on the first iteration of the timer
      //how can I do that?

};

$(window).on('mousemove scroll', function (e) {
lastActive = new Date().getTime();

 //only restart the timer if its not currently running. How can I do that??
if(resetTimer)
       timerId = setInterval(timerFunc , 10000);            
 });

 timerId = setInterval(timerFunc , 10000);

ピースを埋めるのに役立つJavaScriptの達人はいますか? 簡潔すぎる場合は申し訳ありません。コメントで質問があればフォローアップします。ヒント、リンク、トリックなどをありがとう..乾杯. =)

4

1 に答える 1

0

最初の間隔にブール変数を使用します(これは簡単です。タイマーの後に追加するだけです。if(resetTimer)にも正しい考えがあります。タイマー関数を設定するだけで実行されているかどうかを確認できます実行中および停止時のグローバル変数。

于 2012-07-03T14:35:49.740 に答える