【发布时间】:2016-09-30 23:08:27
【问题描述】:
在页面加载时,我们应该等待 15 秒,然后以鼠标移动的形式开始检查用户活动。如果有用户活动,则触发代码并再次开始等待 15 秒以等待用户活动。
我最好的镜头如下。我创建了一个间隔,允许每 15 秒检查一次,另一个间隔检查权限并尝试在第一次鼠标移动时触发代码,然后重置权限 -- 每秒一次。
最初的检查是正确的(它会等待 15 秒并且直到鼠标移动才触发),但是无论用户活动如何,代码都会每 15 秒触发一次——尽管奇怪的是只有在窗口处于焦点时才触发。我怀疑我的错误出在 mousemove 位上,但我不确定。
var allow = false;
setInterval(permission, 15000);
function permission() {
if (allow == false){
allow = true;
}
}
setInterval(function() {
$('body').one('mousemove', function() {
if (allow == true){
alert("code firing");
allow = false;
$('body').off( "mousemove" )
}
});
}, 1000);
【问题讨论】:
标签: jquery setinterval timing