2017-08-30 93 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);