0

私は次のように機能を設定しています:

setInterval(function () { get_fb(); }, 10000);

ユーザーが何かを行うたびにタイマーを 10 秒にリセットしたい (要素の上にカーソルを合わせる、要素をクリックするなど)

このようなことをプログラムにどのように指示しますか?

4

3 に答える 3

8

タイマーを変数に割り当てますか?それをクリアして、次のように再起動できます:

var timer = setInterval(get_fb, 10000);

$('#foo').click(function() {
    clearInterval(timer); // stop timer

    // do something...

    timer = setInterval(get_fb, 10000); // restart timer
});
于 2013-01-30T19:39:13.833 に答える
2
 var timeout = setInterval(function () { get_fb(); }, 10000);


 //to reset interval, first clear it
 clearInterval(timeout);
 //then re-create
 timeout = setInterval(function () { get_fb(); }, 10000); 
于 2013-01-30T19:39:30.430 に答える
1

イベントコールバックで、間隔をクリアしてから、間隔を新たに設定します。

interval = setInterval(...);
...elsewhere...
$(..selector..).click(function () {
    clearInterval(interval);
    interval = setInterval(...);
});

intervalクリックコールバックのスコープ内でアクセス可能であることを確認してください。

于 2013-01-30T19:40:27.653 に答える