当用户打字或点击屏幕时重置计时器



我想在用户输入或点击屏幕时重置计时器。这是我的代码,但它不会重置计时器。你能告诉我问题在哪里,我该如何解决吗?

$(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;
        }
    });

相关内容

  • 没有找到相关文章

最新更新