计时器间隔不起作用的Javascript

柯克·斯特古列夫斯基(Kirk Sturgulewski)

所以我试图使用计时器间隔运行一个弹出脚本,并且无论出于什么原因,计时器不计数,它只会在加载时触发。

idleTime = 0;
$(document).ready(function() {
    $limit = 5;

    if ($.cookie('newVisit') != '1') {
        $.get('/pop_form.htm', function(data) {
            $('.subs-popup').html(data);
        });

        function timerIncrement() {
            idleTime++;
            if (idleTime > $limit) {
                $('.subs-popup ').show();
                idleTime = 0;
            }
        }

        var idleInterval = setInterval(timerIncrement, 1000); // 1 second

        $(this).mousemove(function(e) {
            idleTime = 0;
        });
        $(this).keypress(function(e) {
            idleTime = 0;
        });

        $.cookie('newVisit', '1', {
            expires: 364,
            path: "/"
        });
    }
});

只是不太确定要做什么才能使它正常工作吗?任何帮助将不胜感激。

更新***

所以我按照您的意思做了,这是更改后的代码。除了现在,我收到了意外的令牌错误。

 var idleTime = 0;
   $(document).ready(function() {
     var limit = 7;

if ($.cookie('newVisit') !='1') {
    $.get('/pop_form.htm', function(data) {
        $('.subs-popup').html(data);
    });
    function timerIncrement() {
    idleTime++;
    if (idleTime > limit) {
        $('.subs-popup ').show();
        idleTime = 0;
    }
   }

    var idleInterval = setInterval(timerIncrement, 1000); // 1 second

    $(this).mousemove(function (e) {
        idleTime = 0;
    });
    $(this).keypress(function (e) {
        idleTime = 0;
    });

    $.cookie('newVisit', '1', { expires: 364 , path: "/" });
}
});  <----- this is where i get the unexpected token error
自由度

这是一个替代解决方案:

var timeout = null;

function resetTimer() {
  clearTimeout(timeout)
  timeout = setTimeout(function() {
                           clearTimeout(timeout)
                           alert("Idle!")
            }, 5000);
}

$(document).mousemove(function(e) {
    resetTimer();
});
$(document).keypress(function(e) {
    resetTimer()
});

这将使用返回值setTimeout()作为超时参考。您可以clearTimeout()使用此参考进行调用,它将取消/清除/删除超时,因此您每次鼠标移动/按下一个键时都可以启动一个新超时-而不是记录它被击中了多少次。

小提琴:https : //jsfiddle.net/2ewzr4sx/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript计时器不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

秒表(计时器)不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

C#计时器不起作用?

来自分类Dev

C#计时器不起作用

来自分类Dev

Android SDK计时器不起作用

来自分类Dev

倒数计时器onTick方法不起作用

来自分类Dev

快速无效计时器不起作用

来自分类Dev

计时器onReceive在NavigationView中不起作用

来自分类Dev

每年计时器不起作用

来自分类Dev

子线程中的计时器不起作用

来自分类Dev

计时器在Android Eclipse中不起作用

来自分类Dev

角度计时器在我的应用中不起作用

来自分类Dev

NSTimer [计时器无效]不起作用

来自分类Dev

为什么我的Java计时器不起作用?

来自分类Dev

Esper 模式计时器:interval() 不起作用

来自分类Dev

我的反应组件计时器不起作用

来自分类Dev

Javascript倒数计时器在Safari或IE上不起作用

来自分类Dev

使用JavaScript设计计时器时,为什么我的暂停按钮不起作用?

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

python 3.4,计时器倒计时不起作用

来自分类Dev

EJB3计时器在Wildfly服务器中不起作用

来自分类Dev

Windows服务上的计时器在服务器上不起作用

来自分类Dev

Azure Functions 计时器触发器不起作用

来自分类Dev

在Glass上运行计时器,秒表和指南针示例似乎不起作用