我正在开发一个计时器,记录时间。为此,我使用的是java脚本的setInterval方法,现在的问题是,如果tab处于非活动状态,它就不能正常工作。
有一个解决方案,我可以存储旧时间,并从新时间减去一个问题,如果在启动计时器后,如果用户更改了系统时间,那么它会影响到我的计时器。如果有其他可能的方法或解决办法,请通知我。

timerInterval = setInterval(function() {
    seconds=seconds+1;
    if(seconds==60)
    {
        minutes=minutes+1;
        if(minutes==60)
        {
            minutes=0;
            hours=hours+1;
        }
        $("#task"+aData['taskId']).html(("0" + hours).slice(-2)+":"+("0" + minutes).slice(-2));
        seconds=0;
    }
},1000);

最佳答案

尝试setTimeout而不是setInterval
setInterval不要根据浏览器负载对调用函数设置优先级。我也遇到过同样的问题,我用setTimeout解决了它

关于javascript - setInterval()对于非事件选项卡无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27015131/

10-11 13:49