gpt4 book ai didi

javascript - Setinterval 在滚动时暂停

转载 作者:行者123 更新时间:2023-11-30 20:17:42 27 4
gpt4 key购买 nike

我在使用 Vivaldi 浏览器时遇到了一个奇怪的错误。

我正在使用 setinterval()(每 100 毫秒)来显示滚动上的元素,但是当我开始在 MacBook Pro 上滚动时...setinterval 停止触发并且在滚动停止之前不会恢复。

结果是在 setinterval 上淡入的元素直到用户真正停止滚动时才会淡入。更奇怪的是,这种行为在页面上大约 10 秒后停止。

想知道这是否是任何已知问题或是否有修复?

最佳答案

这是一个巨大的简化,但您很可能会观察到以下行为1

当您调用 setTimeout/setInterval 时,您将函数放在 event queue 中最早在 X 毫秒后执行

但是,浏览器可能有更重要的工作要在堆栈顶部处理,例如绘制 UI。在这种情况下,setInterval 回调将不会被处理,直到处理了更高优先级的工作。

如何缓解这个问题?尝试使用 requestAnimationFrame而是去做工作。

1 欢迎对本文进行更正。

关于javascript - Setinterval 在滚动时暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770036/

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