gpt4 book ai didi

javascript - 为什么 setInterval() 在此代码中停止得太早?

转载 作者:行者123 更新时间:2023-12-03 10:17:11 25 4
gpt4 key购买 nike

<div class="wait">Wait</div>
<div class="waitDownloadLink"></div>

$(document).ready(function()
{
var secondNormal = 40;
var refreshIntervalId;
refreshIntervalId = setInterval(function() {
secondNormal -= 1;
$(".wait").text(secondNormal);

}, 1000);
setTimeout(function() {
clearInterval(refreshIntervalId);
$(".waitDownloadLink").text("Click me to download");
}, secondNormal * 1000);




});

当我开始运行代码并停留在网页上时,代码似乎运行得非常完美(或接近)。然而,当我启动代码后立即浏览其他网页时,计时器卡在 12 - 18 秒之间,然后停止运行。为什么会出现这种情况?有什么办法可以解决这个问题吗?

https://jsfiddle.net/s1zf18co/

最佳答案

浏览器通常会暂停或降低在不可见选项卡中运行的 Javascript 的线程优先级。我的猜测是,这是笔记本电脑和其他设备的一种节能措施,但多年来他们都这样做了。 This question对这个问题进行了极其彻底的调查。

解决方案是使用不会暂停的网络工作人员。请参阅the Mozilla documentation了解更多信息。

关于javascript - 为什么 setInterval() 在此代码中停止得太早?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29810342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com