我想在用户输入或点击屏幕时重置计时器。这是我的代码,但它不会重置计时器。你能告诉我问题在哪里,我该如何解决吗?
$(document).ready(function() {
$(".data-lock").click(function() {
$(this).animate({
bottom: '100%'
}, function() {
$(".back-img").addClass("lock-up");
$(".logbox").addClass("logboxinfead");
setTimeout(function() {
$(".data-lock").animate({
bottom: '0'
}, function() {
$(".back-img").removeClass("lock-up");
$(".logbox").removeClass("logboxinfead");
});
}, 30000);
});
});
var idleInterval = setInterval(timerIncrement(), 60000); // 1 minute
//Zero the idle timer on mouse movement.
$(this).mousemove(function(e) {
idleTime = 0;
});
$(this).keypress(function(e) {
idleTime = 0;
});
});
function timerIncrement() {
idleTime = idleTime + 1;
if (idleTime > 19) { // 20 minutes
window.location.reload();
}
});
您必须调用'clearInterval'来停止计时器,如下所示。我还把下面的"鼠标移动"改为"点击"。
$(this).click(function (e) {
idleTime = 0;
if(idleInterval) {
clearInterval(idleInterval);
idleInterval = null;
}
});
$(this).keypress(function (e) {
idleTime = 0;
if(idleInterval) {
clearInterval(idleInterval);
idleInterval = null;
}
});