JavaScriptとCSSを使用してフェードインページ遷移効果を作成する方法
序章
ページ遷移効果は、アプリケーションのユーザーエクスペリエンスに視覚的な美学を提供します。 JavaScriptは、ドキュメントオブジェクトモデルがロードされたことを検出し、CSSトランジションを適用して「フェードイン」効果を作成するクラスを追加または削除するために使用できます。
この記事では、JavaScriptとCSSを使用してページをフェードインする方法について学習します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
classList
オブジェクトを理解することをお勧めしますが、必須ではありません。classList
オブジェクトの詳細については、JavaScriptでCSSクラスを変更する方法チュートリアルをご覧ください。
ステップ1— CSSopacity
およびtransition
を使用する
まず、ページを開いたときとページをフェードインしたときのCSSルールを作成する必要があります。 この効果は、opacity
およびtransition
プロパティに依存します。 body
要素のfade
クラスを追加および削除することにより、不透明度を0
から1
に遷移させることができます。
index.html
<head> <style> body { opacity: 1; transition-duration: 0.7s; transition-property: opacity; } body.fade { opacity: 0; } </style> </head>
作成するフェードインコードは、fade
クラスをbody
要素にすばやく適用し、不透明度がないように設定します(0
)。 ページが読み込まれると、body
要素からfade
クラスが削除され、0.7
の期間中、完全な不透明度(1
)に設定されます。秒。
ステップ2—フェードインクラスを適用する
ページで、開始body
タグの直後に、fade
クラスをbody
要素に割り当てます。
index.html
<body> <script> document.body.className = 'fade'; </script> <!-- ... --> </body>
または、body
要素に既存のクラスが含まれている場合は、classList
オブジェクトで.add()
メソッドを使用してfade
クラスを適用できます。
index.html
ファイルで、.add()
メソッドをclassList
オブジェクトに追加し、fade
クラスを引数として挿入します。
index.html
<body> <script> document.body.classList.add('fade'); </script> <!-- ... --> </body>
これにより、fade
クラスが既存のクラスに追加されます。
ステップ3—フェードインクラスを削除する
クラスからフェードイン遷移を削除するために、ドキュメントオブジェクトモデルがロードされたときのイベントリスナーを実装できます。 トランジション効果がリーダーに表示されるように、遅延を実装することもできます。
index.html
ファイルで、イベントリスナーを使用し、body
要素のクラス名に空の文字列の値を割り当てます。
index.html
<body> <!-- ... --> <script> document.addEventListener("DOMContentLoaded", () => { window.setTimeout(function() { document.body.className = ''; }, 230); }); </script> </body>
空の文字列は、ページが読み込まれた後にクラス名を元に戻すようにJavaScriptに指示します。
または、body
要素に既存のクラスが含まれている場合は、classList
オブジェクトで.remove()
メソッドを使用します。
index.html
<body> <!-- ... --> <script> document.addEventListener("DOMContentLoaded", () => { window.setTimeout(function() { document.body.classList.remove('fade'); }, 230); }); </script> </body>
.remove()
メソッドは、fade
クラスを削除します。
これで、ページをロードすると、最初にfade
クラスがbody
要素に追加されます。 CSSトランジションは、0.7
秒の間に不透明度を0
から1
に変更し始めます。 ページの読み込みが完了すると、fade
クラスがbody
要素から削除されます。
結論
この記事では、JavaScriptとCSSの組み合わせを使用して、ページが読み込まれたときに「フェードイン」効果を作成しました。 opacity
とtransition
を使用してエフェクトを作成しました。 次に、DOM操作を使用して、遷移をトリガーするクラスを追加および削除しました。