【发布时间】:2012-01-27 21:10:37
【问题描述】:
我有一段代码:
var logo = $("#blinking-logo");
function logo_blink() {
logo.fadeOut(10).delay(10)
.fadeIn(10).delay(20)
.fadeOut(10).delay(10)
.fadeIn(10)
window.setTimeout(logo_blink, (Math.random()*(1500))+1500);
}
logo_blink();
它所做的只是在大约 30 秒内闪烁一次图片(这里的时间较短,以便于调试)
Chrome 在标签页处于后台时暂停此计时器的问题,然后,当返回该标签页时,它会闪烁所有在后台错过的闪烁。
我想在后台暂停计时器,但我不知道怎么做。我读过一些相关的帖子,但似乎它们描述了相反的问题。有什么方法可以检测标签的背景吗?
【问题讨论】:
-
有一个叫做
requestAnimationFrame的东西会在选项卡不在前台时暂停,但它没有得到广泛支持。这是一篇关于它的文章:hacks.mozilla.org/2011/08/…
标签: javascript jquery google-chrome settimeout