7

スクロールしている場合windowwindow.setIntervalスクロール中またはスクロール後に が接続/起動されないようです。他の誰かが同じ問題を見たことがありますか?

つまり...

  • 何が原因でしょうか?
  • これを修正するにはどうすればよいですか?
4

4 に答える 4

9

iOS は、ユーザーのタッチに応答してほとんどすべてを停止し、応答性を保証します。setInterval の問題は既知であり、回避策はないようです。

スクロール中に setInterval が iphone/ipad (モバイル Safari) で一時停止する

編集

「フリーズ」の間、ユーザーが画面を離すと、タイマーは追いつきません。見逃したイベントは延期されませんが、完全に失われます (バグ)。

于 2012-10-02T01:57:30.703 に答える
3

この(恐ろしいが驚くべき)回避策を見つけ、iOS 6.0で機能しています:

https://gist.github.com/3755461

于 2012-11-20T03:10:41.210 に答える
0

iOS6 Safari には、ページのスクロール中に作成されたタイマーを強制終了するバグがあります。

スクロールが終了した後にタイマーを再作成することにより、kTmnh によって提供されるこの問題に対する修正があります。

https://gist.github.com/3798925 .

于 2014-02-25T06:10:57.850 に答える
0

完全にはわかりませんが、 ?のsetTimeout代わりにa を使用できます。setIntervalとにかく setInterval を使用するのは一般的に悪い習慣です。

var delay = 100;
(function callee() {
    setTimeout(callee, delay);
})();
于 2012-10-02T02:05:11.233 に答える