似乎如果我正在滚动window
,window.setInterval
则在滚动发生时或之后不会附加/触发。有没有其他人看到同样的问题?
我是说...
- 这可能是什么原因造成的?
- 我能做些什么来解决这个问题?
似乎如果我正在滚动window
,window.setInterval
则在滚动发生时或之后不会附加/触发。有没有其他人看到同样的问题?
我是说...
iOS 会暂停几乎所有响应用户触摸的操作,以确保其感觉反应灵敏。setInterval 问题是已知的,并且似乎没有解决方法。
滚动期间在 iphone/ipad(移动 Safari)中的 setInterval 暂停
编辑
在“冻结”期间,一旦用户释放屏幕,计时器将不会赶上。错过的事件不会被推迟,而是完全丢失(一个错误)。
找到了这个(可怕但惊人的)解决方法,它在 iOS 6.0 中对我有用:
我不完全确定,但你可以使用 asetTimeout
而不是setInterval
? 无论如何,使用 setInterval 通常是不好的做法。
var delay = 100;
(function callee() {
setTimeout(callee, delay);
})();