首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当一个标签在Chrome中处于非活动状态时,我如何让setInterval也能工作?

当一个标签在Chrome中处于非活动状态时,我如何让setInterval也能工作?
EN

Stack Overflow用户
提问于 2011-05-08 19:58:41
回答 10查看 160.8K关注 0票数 227

我有一个setInterval每秒运行一段代码30次。这很有效,但是当我选择另一个选项卡时(这样包含我代码的选项卡变得不活动),由于某种原因,setInterval被设置为空闲状态。

我做了这个简化的测试用例(http://jsfiddle.net/7f6DX/3/):

代码语言:javascript
复制
var $div = $('div');
var a = 0;

setInterval(function() {
    a++;
    $div.css("left", a)
}, 1000 / 30);

如果运行此代码,然后切换到另一个选项卡,等待几秒钟并返回,动画将从切换到另一个选项卡时的位置继续播放。因此,动画每秒不会运行30次,以防标签处于非活动状态。这可以通过计算每秒调用setInterval函数的次数来确认-如果选项卡处于非活动状态,该次数将不是30次,而是1次或2次。

我猜这是为了提高性能而设计的,但是有没有办法禁用这种行为呢?在我的场景中,这实际上是一个缺点。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5927284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档