JavaScript で ローディングを実装する方法
公開日
by
JavaScript で ローディングを実装する方法を紹介します。
JavaScript で ローディングを実装する方法
HTMLはこちら
<div id="loadingElement" class="loading">
<!-- ローディング要素の中身 -->
</div>
CSSはこちら
.loading {
/* ローディング中のスタイル */
/* 例えばローディングアニメーションなど */
}
.loaded {
/* ローディング完了後のスタイル */
}
JavaScript はこちら
document.addEventListener("DOMContentLoaded", function() { // ドキュメントが読み込まれたら実行
setTimeout(() => { // 時間を指定
const loadingElement = document.getElementById('loadingElement'); // IDを指定
loadingElement.classList.remove('loading'); // loading を除去
loadingElement.classList.add('loaded'); // loaded を付与
}, 3000); // 3秒後にloadedクラスを追加
});
紹介したコードは、ページ全体が読み込まれたタイミングで、指定した要素のクラスを loading から loaded に変更します。
具体的な流れは次の通りです。
- ページが読み込まれると、ローディング要素に loading クラスが付与されます。
- その後、DOMContentLoaded イベントが発火し、JavaScriptが実行されます。
- JavaScriptのコードにより、loading クラスが除去され、代わりに loaded クラスが追加されます。
クラスの除去が必要なければ remove の行は任意で削除してください。
これにより、ページのローディングが完了した後に、特定の要素にスタイルやアニメーションを適用することができます。ぜひお試しください!
JavaScript が無効な場合
JavaScript が無効な場合、ローディングが表示されたままになります。そのため、次のような調整を加えることで対応します。
HTMLはこちら
<div id="loadingElement" style="display: none;">
<!-- ローディング要素の中身 -->
</div>
JavaScript はこちら
// JavaScriptが有効な場合のみ実行される
document.getElementById('loadingElement').style.display = 'block'; // 要素を表示させる
document.addEventListener("DOMContentLoaded", function() {
const loadingElement = document.getElementById('loadingElement');
loadingElement.classList.add('loaded'); // ローディング完了のクラスを追加
});
このコードでは、最初にローディング要素を display: none; で非表示にします。
これで JavaScript が読み込めない状況では要素は最初から非表示になります。
次に JavaScript が有効な場合、スクリプトの冒頭で要素を表示状態に変更します。
まとめ
JavaScript で ローディングを実装する方法を紹介しました。