SNSをチェック

シンプルなJavaScriptローディングアニメーションの作り方

ローディングアニメーションは、ユーザーに待機時間を知らせ、ページがまだ読み込み中であることを伝えるために重要です。今回は、生のJavaScriptで簡単なローディングアニメーションを作成する方法を紹介します。

ステップ1: HTMLの設定

まず、HTMLにローディングアニメーション用の要素を追加します。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Loading Animation</title>
<style>
.loader {
border: 16px solid #f3f3f3; /* Light grey */
border-top: 16px solid #3498db; /* Blue */
border-radius: 50%;
width: 120px;
height: 120px;
animation: spin 2s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

#loading-screen {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.8);
z-index: 9999;
}
</style>
</head>
<body>
<div id="loading-screen">
<div class="loader"></div>
</div>
<div id="content" style="display:none;">
<!-- ページのコンテンツ -->
<h1>ページが読み込まれました!</h1>
</div>
<script src="script.js"></script>
</body>
</html>

ステップ2: JavaScriptの設定

次に、JavaScriptでローディングアニメーションの表示と非表示を制御します。

document.addEventListener("DOMContentLoaded", function() {
// ウィンドウが完全に読み込まれたらローディング画面を非表示にする
window.onload = function() {
const loadingScreen = document.getElementById('loading-screen');
const content = document.getElementById('content');

loadingScreen.style.display = 'none';
content.style.display = 'block';
};
});

詳細説明

HTML

  • <div id="loading-screen">: ローディングアニメーションの背景と中央に配置されたスピナーを含む要素。
  • <div class="loader">: ローディングスピナー自体。

CSS

  • .loader: スピナーのスタイルを定義し、@keyframesを使用して回転アニメーションを作成。
  • #loading-screen: 全画面を覆う半透明の背景を設定。

JavaScript

  • DOMContentLoaded イベントリスナーを使って、DOMが完全に読み込まれたら実行されるように設定。
  • window.onload イベントリスナーで、ページが完全に読み込まれた時にローディング画面を非表示にし、コンテンツを表示。

この方法を使えば、簡単にシンプルなローディングアニメーションを作成できます。これを応用して、さらに複雑なアニメーションやスタイルを追加することも可能です。ぜひ試してみてください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です