看起來如果我在滾動window
,window.setInterval
在滾動發生時或之後沒有被連接/觸發。 有沒有其他人看到同樣的問題?iOS 6 safari,setInterval沒有被觸發
我的意思是...
- 什麼可以causeing呢?
- 我能做些什麼來解決這個問題?
看起來如果我在滾動window
,window.setInterval
在滾動發生時或之後沒有被連接/觸發。 有沒有其他人看到同樣的問題?iOS 6 safari,setInterval沒有被觸發
我的意思是...
iOS停止響應用戶觸摸的幾乎所有內容以確保其感覺響應。 setInterval問題是已知的,似乎沒有解決方法。
setInterval pauses in iphone/ipad (mobile Safari) during scrolling
編輯
在「凍結」,一旦用戶釋放屏幕計時器不會趕上。錯過的事件不會被延期,而是完全丟失(一個錯誤)。
我不完全確定,但您可以使用setTimeout
而不是setInterval
?無論如何,使用setInterval通常是不好的做法。
var delay = 100;
(function callee() {
setTimeout(callee, delay);
})();
我不確定我是否同意使用'setInterval'''通常是一個糟糕的做法(儘管它肯定會被濫用,特別是對於requestAnimationFrame更適合的地方重繪)。然而,可以爲'arguments.callee'做一個參數是一個不好的做法(這就是爲什麼它已經[從嚴格模式中移除](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/ Functions_and_function_scope/Strict_mode?redirectlocale = EN-US&redirectslug =的JavaScript/Strict_mode))。 – Strille
謝謝,更新了代碼。 – Nathaniel
問題仍然存在setTimeout – TaylorMac
發現這個(可怕的,但驚人的)解決方案,它的工作對我的iOS 6.0:
也許它會停止所有腳本滾動時保存內存,並使動畫變得更快。只是猜測。 –
@Derek,不,其他所有的東西似乎都很好,直到setInterval之前的那一行。 – Johnny
你能提供一個鏈接嗎? – Geuis