我有一个这样的功能设置:
setInterval(function () { get_fb(); }, 10000);
每当用户执行某些操作(例如将鼠标悬停在元素上或单击元素)时,我想将计时器重置为 10 秒
我将如何告诉程序做这样的事情?
我有一个这样的功能设置:
setInterval(function () { get_fb(); }, 10000);
每当用户执行某些操作(例如将鼠标悬停在元素上或单击元素)时,我想将计时器重置为 10 秒
我将如何告诉程序做这样的事情?
您是否将计时器分配给一个变量,您可以清除它并像这样重新启动它:
var timer = setInterval(get_fb, 10000);
$('#foo').click(function() {
clearInterval(timer); // stop timer
// do something...
timer = setInterval(get_fb, 10000); // restart timer
});
var timeout = setInterval(function () { get_fb(); }, 10000);
//to reset interval, first clear it
clearInterval(timeout);
//then re-create
timeout = setInterval(function () { get_fb(); }, 10000);
在事件回调中,清除间隔,然后重新设置间隔:
interval = setInterval(...);
...elsewhere...
$(..selector..).click(function () {
clearInterval(interval);
interval = setInterval(...);
});
确保interval
在点击回调的范围内可以访问。