CSS3アニメーションとJSアニメーションの違いは何ですか
違い: 1. js アニメーションの制御能力は css3 アニメーションよりも強力です; 2. js アニメーションの効果は css3 アニメーションよりも豊富です; 3. ほとんどの場合、js アニメーションには互換性の問題、css3 アニメーションには互換性がある 問題; 4. js アニメーションの複雑さは css3 アニメーションの複雑さよりも高くなります。
このチュートリアルの動作環境: Windows 7 システム、CSS3&&JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JS アニメーション
利点:
js アニメーション制御機能が強力で、アニメーションの開始と一時停止を細かく制御できます。終了・キャンセルもすべて可能
- #曲線移動、衝撃点滅、視差スクロール効果など、CSS3アニメーションよりも豊富なアニメーション効果があり、JSアニメーションのみで完結可能
- JS アニメーションには互換性の問題はほとんどありませんが、CSS3 アニメーションには互換性の問題があります
- 複雑さjs アニメーションの方が css3
- js よりも高いです。js はアニメーション ブラウザのメイン スレッドで実行され、メイン スレッドには他の JavaScript スクリプト、スタイル計算、レイアウト、描画タスクもあります。
- js アニメーションでは、視覚的なアニメーション効果を実現するために DOM の CSS プロパティを頻繁に操作する必要があることがよくあります。ブラウザは実行し続ける必要があります。再描画とリフローは、特にブラウザに割り当てられたメモリがそれほど豊富ではないモバイル端末では、大量のパフォーマンスを消費します。
- Chromium ベースのブラウザでは
- #同時に、CSS アニメーションはレイアウトやペイントをトリガーしませんが、CSS アニメーションまたは JS アニメーションはトリガーします。ペイントまたはレイアウト このとき、メインスレッドはレイヤー ツリーを再計算する必要がありますが、このとき、CSS アニメーションまたは JS アニメーションが後続の操作をブロックします。
メイン スレッドでは、レイヤー ツリー (LayerTreeHost) が維持され、TiledLayer が管理されます。コンポジター スレッドでは、同じ LayerTreeHostImpl が維持され、LayerImpl が管理されます。これら 2 つのツリーの内容はコピーされます関係。 Javascript がメイン スレッドで LayerTreeHost を操作する場合、コンポジタ スレッドはレンダリングに LayerTreeHostImpl を使用できます。 Javascript がビジーでメインスレッドがスタックしている場合でも、画面への合成処理がスムーズになります。
アニメーションの一時停止を防ぐために、マウスとキーボードのメッセージは最初にコンポジター スレッドに配信され、次にメイン スレッドに配信されます。このようにして、メイン スレッドがビジー状態でも、コンポジタ スレッドは一部のメッセージに応答できます。たとえば、マウスがスクロールしていてメイン スレッドがビジー状態の場合、コンポジタ スレッドはスクロールするメッセージも処理し、ページ パーツをスクロールします。提出済みの部分(未提出の部分は白塗りになります)。
- 実行中のプロセスの制御は弱いです。CSS3 アニメーションは特定のシナリオでのみアニメーションの一時停止と継続を制御でき、コールバック関数を特定の場所に追加することはできません。
- コードが長いです。 CSS を使用してもう少し複雑なアニメーションを実装したい場合、CSS コードは最終的に非常に複雑になります。
- js はいくつかの複雑なタスクを実行しています
- css アニメーションは少ない、または実行されていませんペインとレイアウトのトリガー、つまり再描画と再配置。次のプロパティを変更することで生成される CSS アニメーションなどです。
- backface-visibility
- opacity
- perspective (要素ビューの設定)
- perspective-origin
- transfrom
一部の属性では、3D 変換にトランスフォームの translationZ を使用する場合など、3D アクセラレーションと GPU ハードウェア アクセラレーションを有効にすることができます- Chromium ベースのブラウザでは、これはカーネルによって最適化されるようです。CSS アニメーションの知識が変換と不透明度を変更すると、CSS アニメーション全体がコンポジター スレッドで完了できます (JS アニメーションはメインスレッド)、CSS アニメーションのレンダリングがメインスレッドに影響を与えないようにします。
まとめ
日々の開発に話を戻すと、アニメーションが必要になった場合、まずそれを可能な限り実現できるかどうかを考慮する必要があります。 CSS アニメーションと JS アニメーションの両方が実現できる場合、上記の概要に基づいてどちらのパフォーマンスが優れているかを検討する必要があります。つまり、CSS アニメーションが必ずしも JS アニメーションよりも優れているというわけではなく、特定のニーズとビジネス シナリオによって異なります。 学習ビデオ共有:css ビデオ チュートリアル、JavaScript 学習チュートリアル
以上がCSS3アニメーションとJSアニメーションの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









CSS アニメーション ガイド: 稲妻効果を作成する方法を段階的に説明します。 はじめに: CSS アニメーションは、現代の Web デザインに不可欠な部分です。 Web ページに鮮やかな効果とインタラクティブ性をもたらし、ユーザー エクスペリエンスを向上させることができます。このガイドでは、CSS を使用して稲妻効果を作成する方法と、具体的なコード例を詳しく見ていきます。 1. HTML 構造を作成します。まず、雷の効果に対応する HTML 構造を作成する必要があります。 <div> 要素を使用して稲妻効果をラップし、

CSS アニメーション チュートリアル: ページめくり効果を実装する方法を段階的に説明します。特定のコード サンプルが必要です。 CSS アニメーションは、現代の Web サイト デザインの重要な部分です。 Web ページに鮮やかさを加え、ユーザーの注目を集め、ユーザー エクスペリエンスを向上させることができます。一般的な CSS アニメーション効果の 1 つは、ページめくり効果です。このチュートリアルでは、この目を引く効果を実現する方法を段階的に説明し、具体的なコード例を示します。まず、基本的な HTML 構造を作成する必要があります。コードは次のとおりです: <!DOCTYPE

CSS を使用してマウスホバリング時のジッター効果を実現するためのヒントと方法 マウスホバリング時のジッター効果は、Web ページにダイナミクスと面白さを追加し、ユーザーの注意を引くことができます。この記事では、CSS を使用してマウスホバーのジッター効果を実現するいくつかのテクニックと方法を紹介し、具体的なコード例を示します。ジッターの原理 CSS では、キーフレーム アニメーション (キーフレーム) と変換プロパティを使用して、ジッター効果を実現できます。キーフレーム アニメーションを使用すると、アニメーション シーケンスを次のように定義できます。

CSS アニメーション チュートリアル: パルス効果を実装する方法を段階的に説明します。具体的なコード例が必要です。 はじめに: CSS アニメーションは、Web デザインで一般的に使用される効果です。Web ページに活力と視覚的な魅力を加えることができます。この記事では、CSS を使用してパルス効果を実現する方法を深く理解し、それを段階的に完了する方法を説明する具体的なコード例を示します。 1. パルス エフェクトを理解する パルス エフェクトは周期的なアニメーション エフェクトで、通常はボタン、アイコン、またはその他の要素に鼓動や点滅の効果を与えるために使用されます。 CSS を使用したプロパティとキーのアニメーション化

CSS を使用して画像表示の特殊効果を実現するためのヒントと方法 Web デザインでもアプリケーション開発でも、画像表示は非常に一般的な要件です。ユーザーエクスペリエンスを向上させるために、CSS を使用してクールな画像表示効果を実現できます。この記事では、読者がすぐに始められるように、一般的に使用されるいくつかのテクニックとメソッドを紹介し、対応するコード例を示します。 1. 画像ズームの特殊効果 ズーム マウス ホバー効果 画像上にマウスを置くと、ズーム効果によってインタラクティブ性が高まります。コード例は次のとおりです。

CSS アニメーション ガイド: 点滅効果の作成方法を段階的に説明します。点滅効果は、簡単なコードで鮮やかでユニークな効果をもたらすことができる一般的な CSS アニメーション効果です。この記事では、CSS を使用して瞬き効果を作成する方法について、具体的なコード例とともに段階的に説明します。 HTML 構造の作成 まず、点滅効果を表示するための HTML 構造を作成する必要があります。コードは次のとおりです: <!DOCTYPEhtml><html>&

CSS アニメーション チュートリアル: 流れる水の特殊効果を実装する方法を段階的に説明します。特定のコード サンプルが必要です。前書き: CSS アニメーションは、Web デザインで一般的に使用されるテクノロジです。Web ページをより生き生きと面白くし、ユーザーを引き付けます。 ' 注意。このチュートリアルでは、CSS を使用して水の流れの効果を実現する方法を学び、具体的なコード例を示します。はじめましょう!ステップ 1: HTML 構造 まず、基本的な HTML 構造を作成する必要があります。ドキュメントの <body> タグに <di を追加します

CSS アニメーション チュートリアル: フェードイン効果とフェードアウト効果を実装する方法を段階的に説明します。具体的なコード例も含まれます。Web デザインと開発では、アニメーション効果を使用してページをより鮮やかで魅力的にすることができます。 CSS アニメーションは、この効果を実現する簡単かつ強力な方法です。この記事では、CSS を使用してフェード効果を実現する方法を段階的に説明し、参考用の具体的なコード例を示します。 1. フェードイン効果 フェードイン効果とは、要素の透明度 0 から透明度 1 まで徐々に変化する効果を指します。フェードイン効果を実現する手順とコード例は次のとおりです。 ステップ 1:
