タイトルは.. Jquery、settimeout、およびsetintervalを使用せずにJavaScriptの最も簡単なアニメーションを作成する方法はありますか?私はあまりにも長い間研究してきましたが、何も見つかりませんでした。それを行う方法がないかもしれない、ちょうど不思議。クロスブラウザーも探しているので、CSSアニメーションも機能しません。jquery/settimeout/setintervalなしのJavaScriptアニメーション
答えて
現在、ほとんどのアニメーションを行う「正しい」方法はwindow.requestAnimationFrame
で、指定した時刻にコールバック関数を実行する点でsetTimeout
のように動作します。
これは60fpsで実行するように最適化されており、一部のブラウザ(FF)では、次の描画までの正確なミリ秒数がわかり、アニメーション位置を非常に正確に計算できます。
Googleの「requestAnimationFrame shim」は、古いブラウザ用のさまざまなクロスブラウザ実装です。シムはすべてsetTimeout
—を使用しています。
これは私が探しているものです!ありがとうございました! – ALF
'window.requestAnimationFrame'は一部のブラウザでのみ機能します(IE10以前はIEのバージョンがなく、5.3以前のSafariはありませんなど)。詳細については、http://www.caniuse.com/#search=requestanimationFrameを参照してください。そして、古いブラウザの回避策は 'setTimeout()'や 'setInterval()'を使いますので、回避策はありません。したがって、タイマーのないブラウザーでも動作する必要がある場合、この答えは解決できません(解決策がないため)。 – jfriend00
@ jfriend00 - それは私が最後の文で言ったことではありませんか? :) –
いいえ、どのように間隔/タイムアウトなしでそれを行い、それをクロスブラウザで行うことができますか?あなたはそれを引き金にするために何かが必要です。
ユーザーの入力に何かをアニメートしている場合を除きます。ユーザーがマウス移動イベントまたはページスクロールイベントをトリガしたときに何かをアニメーション化すると、動作する可能性がありますが、ストップアンドゴーとなり、トリガするユーザーに100%依存します。
いいえ、私はsetTimeout()
またはsetInterval()
を使用せずにJavaScriptで一時停止を行う方法はないと思います。
私が考えることができる唯一の選択肢は、javascriptがXMLHttpRequestオブジェクトレスポンスのようなイベントを待つことです。これはばかげています。
JavaScriptの場合はThread.sleep()
、Unixシステムの場合はusleep()
のような便利な「(ミリ秒)ミリ秒の実行を続行する」を探しているなら、悲しいことはありません。
私は、Google Sketchupで実行されているRubyスクリプトでタイミング目的で聞いたことがあるので、誰かが目に見えないHTMLウィンドウをsetInterval()
を使って少しのJavaScriptを実行するだけで済むようにしました。私はあなたがJavaScriptを実行するためにこのような長さに行くと、まだsetInterval()
を使用して、おそらく他のオプションがないと思う。
- 1. 純粋なjavascriptのアニメーション、jqueryなし
- 2. Raphael Javascriptアニメーションのシーケンスのアニメーション
- 3. JavaScriptアニメーションCCアニメーションの制御
- 4. Javascript easelJSアニメーションをキーダウンしながら
- 5. Javascript AppendToアニメーションが動作しない
- 6. JavaScriptアニメーションのスライディングメニュー
- 7. JavaScriptキャンバスのアニメーション
- 8. JavaScript/Jqueryのアニメーション
- 9. スムーズJavaScriptのアニメーション
- 10. シンプルなJavaScriptのアニメーションの問題
- 11. svgのJavascriptのアニメーション
- 12. 小さなJavaScriptのアニメーション統合
- 13. Javascriptの基本的なアニメーション回転スティール
- 14. Javascript Raphaelパスのアニメーション
- 15. JavaScriptアニメーションの改善
- 16. Codepen - 基本的なJavaScriptのアニメーションが機能しない
- 17. アニメーションjavascript on words
- 18. アニメーションJavascript classList.toggle
- 19. 奇妙なIEとFirefoxのJavaScript JavaScriptのアニメーションの速度
- 20. CSS複数のアニメーションを単一の要素に、JavaScriptなし
- 21. JavaScriptキャンバスの長方形のアニメーションが動作しない
- 22. Javascriptのスクリーンセーバーのアニメーションが機能しない
- 23. キャンバスを使用したJavascriptのアニメーション
- 24. javascript/cssでの連続したアニメーション
- 25. jQueryアニメーション、アニメーション化しない
- 26. jQuery/Javascript乱数アニメーション
- 27. JavascriptをトリガーCSSアニメーション
- 28. JavaScript - アニメーション回転アルゴリズム
- 29. アニメーションWord Web in Javascript
- 30. 逆JavascriptトリガーCSSアニメーション
質問に欠けている重要な部分があります: 'setTimeout()'と 'setInterval()'はなぜあなたにとって問題なのですか? – Amadan
なぜjqueryなしでアニメーションをしたいのですか?おそらく、DOMに触れるには、最も速く/最も安全な方法です。 – frenchie
アニメーションGIFを使用することができます - すべてのブラウザでサポートされており、JavaScriptはまったく必要ありません。 – RobG