Web サイトで setInterval 関数を使用していますが、IE、Chrome、Firefox、および Safari で問題なく動作します。ipad/iphone (サファリ モバイル) で試してみると、問題が発生します。画面をスクロールすると、setInterval 関数が一時停止し、スクロールを停止したときにのみ再開します。
関数が一時停止するのを防ぐ方法はありますか? ありがとう
Web サイトで setInterval 関数を使用していますが、IE、Chrome、Firefox、および Safari で問題なく動作します。ipad/iphone (サファリ モバイル) で試してみると、問題が発生します。画面をスクロールすると、setInterval 関数が一時停止し、スクロールを停止したときにのみ再開します。
関数が一時停止するのを防ぐ方法はありますか? ありがとう
残念ながら、そのような行動を防ぐ方法はありません。ここ SO には、この問題に関する多くのトピックがあります (関連性の低いトピック)。特に興味深いトピックを次に示します。その要約は簡単です:
iOS エラスティック スクロールは追跡できません。そのためのイベントリスナーはありません+スクロール中にタイムアウト/間隔の両方が実行されません。また、iOS5 には requestAnimationFrame がないため、これを解決することは不可能に思えます。
iOS6 Safari には、ページのスクロール中に作成されたタイマーを強制終了するバグがあります。
スクロールが終了した後にタイマーを再作成することにより、kTmnh によって提供されるこの問題に対する修正があります。
この件名に関する@Pattishallの回答を確認してください iOS 6 jsイベント関数は、setTimeoutが含まれている場合は呼び出されません