我在網站中使用setInterval函數,它在IE,Chrome,Firefox和Safari中正常工作。當我嘗試它在ipad/iphone(Safari移動)時,我得到的問題:如果我滾動屏幕,setInterval函數暫停,它只有當我停止滾動恢復!setInterval在iPhone/iPad(移動Safari)在滾動期間暫停
有沒有辦法阻止函數暫停? 謝謝
我在網站中使用setInterval函數,它在IE,Chrome,Firefox和Safari中正常工作。當我嘗試它在ipad/iphone(Safari移動)時,我得到的問題:如果我滾動屏幕,setInterval函數暫停,它只有當我停止滾動恢復!setInterval在iPhone/iPad(移動Safari)在滾動期間暫停
有沒有辦法阻止函數暫停? 謝謝
恐怕沒有,沒有辦法阻止這種行爲。在這裏有很多關於這個問題的主題(更多或更少相關),這裏是一個特別的interesting one。它的總結很簡單:
iOS彈性滾動不能被跟蹤。沒有事件監聽器 +滾動期間超時/間隔都不執行。並且因爲iOS5中沒有requestAnimationFrame,所以這似乎不可能在 中解決。
檢查@Pattishall回答這個問題 iOS 6 js events function not called if has setTimeout in it
iOS6的Safari瀏覽器從殺死的,而一個頁面滾動創建的定時器的錯誤受到影響。
有滾動完成
https://gist.github.com/3798925後的修復,以通過重新定時器由kTmnh提供了這個問題。
我希望他們能在iOS 6中解決它,但是非常感謝你! – user1478076
iOS6中尚未解決此問題 - 在彈性滾動期間,所有JavaScript都會暫停,並且在滾動停止(並且onScroll被觸發)之前不會恢復。 –
似乎在iOS 6.1中得到修復 –