Safari 5.1 以前のブラウザにはrequestAnimationFrame
、動的な JavaScript ベースのポジショニングを使用する一部のアプリケーションに不可欠な機能がありません。setInterval
更新とレンダリングの間の同期が欠けているため、十分な代替品ではありません。requestAnimationFrame
これらのブラウザで適切にエミュレートする方法は?
質問する
267 次
1 に答える
1
タイマー以外の選択肢はないと思います。によるフレーム落ちの可能性を回避したい場合はsetInterval
、 を使用setTimeout
し、毎回コールバックから新しいタイムアウトを開始します。
function renderFrame() {
// do stuff
setTimeout(renderFrame, 1000/30);
}
renderFrame();
実際、私の最初の文は正確ではありません。Google 検索では、タイムスタンプ ベースのソリューションや、タイムスタンプと setTimeout の両方を使用する別のソリューションなど、他のオプションが表示されました。
于 2013-06-15T18:43:35.593 に答える