我想在用户输入输入或点击屏幕时重置计时器。 这是我的代码,但它没有重置计时器。 你能告诉我问题在哪里,我该如何解决?
$(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();
}
});
答案 0 :(得分:0)
你必须打电话给'clearInterval'停止计时器如下。我也改变了'mousemove'点击'点击'下方。
$(this).click(function (e) {
idleTime = 0;
if(idleInterval) {
clearInterval(idleInterval);
idleInterval = null;
}
});
$(this).keypress(function (e) {
idleTime = 0;
if(idleInterval) {
clearInterval(idleInterval);
idleInterval = null;
}
});