7

我在网站中使用 setInterval 函数,它在 IE、Chrome、Firefox 和 Safari 中运行良好。当我在 ipad/iphone (safari mobile) 上尝试时,我遇到了问题:如果我滚动屏幕,setInterval 函数会暂停,并且只有在我停止滚动时才会恢复!

有没有办法防止功能暂停?谢谢

4

3 回答 3

6

恐怕不,没有办法阻止这种行为。SO中有很多关于这个问题的主题(更多相关),这里有一个特别有趣的主题。它的总结很简单:

iOS 弹性滚动无法追踪。它没有事件监听器+滚动期间超时/间隔都不会执行。而且因为iOS5中没有requestAnimationFrame,这似乎是无法解决的。

于 2012-06-24T13:42:11.730 回答
1

iOS6 Safari 存在一个错误,该错误会杀死在页面滚动时创建的计时器。

kTmnh 通过在滚动完成后重新创建计时器来解决此问题

https://gist.github.com/3798925

于 2014-02-25T06:10:16.837 回答
0

检查@Pattishall 对此主题的答案 iOS 6 js events function not called if has setTimeout in it

于 2013-04-08T12:54:10.267 回答