javascript - setInterval() 对于非事件选项卡无法正常工作

标签 javascript jquery html setinterval browser-tab

我正在开发一个记录时间的计时器。为此,我正在使用 java 脚本的 setInterval 方法,现在问题是如果选项卡处于非事件状态,它无法正常工作。

一个解决方案我必须存储旧时间并从新时间中减去这个问题如果在启动计时器后如果用户更改系统时间然后它会影响到我的计时器。如果有任何其他可能的方法或解决方案,请通知我。

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/

相关文章:

javascript - 它使用 Coffeescript 调用生成的 javascript

javascript - 双击时更改所选文本的样式

html - 将鼠标悬停在菜单元素上时更改元素的布局

html - CSS 导航背景颜色

javascript - 围绕枢轴词对齐文本

javascript - 文档内的 mongoDB 数组

javascript - (obj.length === +obj.length) underscore.js 源代码中 === 后 + 的目的是什么?

javascript - 当元素不再适合容器时执行 JavaScript

javascript - 多个 jQuery 正则表达式测试

javascript - 布局呈现后如何初始化 jQuery 对象?