読者Gsapでローディングアニメーションを実装は、最初にどこを理解するとよいですか?
木村対象要素を取得する処理、動作を始める条件、見た目を変える処理の三つに分けると、コードの流れを追いやすくなります。
読者実際に試すときは、手順だけでなく確認方法も知っておいた方がよいでしょうか?
木村はい。この記事では、作業の目的から実装後の確認までを順番に整理します。自分の環境と照らし合わせながら読み進めてください。
アニメーションの流れ
アニメーションの流れでは、Gsapでローディングアニメーションを実装 #1/2を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。
bodyタグの中には、以下のようにもう一つの親コンテンツ(ここではid=global-containerとしています)を作成します。loadingアニメーションが終了するまでは、このコンテンツをdisplay:noneで非表示にしておきます。そして、loadingアニメーションが終了した後に、display:blockを使って要素を表示させる流れになります。サンプルコードはこちらです。アニメーションの流れで押さえたいポイント
アニメーションの流れは、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。
アニメーションの流れの確認方法
ブラウザーのコンソールにエラーがないかを確認し、クリックやスクロールを繰り返してもイベントが重複しないかを試します。スマートフォン幅とキーボード操作も確認してください。
ローディングアニメーションの実装
ローディングアニメーションの実装では、Gsapでローディングアニメーションを実装 #1/2を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。
HTMLコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/gsap.min.js"></script>
</head>
<body>
<div class="loading js_2">
<div class="loading__inner">
<h1 class="js_1">ローディング<br />アニメーション</h1>
</div>
<!-- /.loading__inner -->
</div>
<!-- /.loading -->
<div id="global-container" class="js_3">
<div id="container">
<header>ヘッダー</header>
<main>
<div id="main-container">メインコンテンス</div>
<!-- /#main-container -->
</main>
<footer>フッター</footer>
</div>
<!-- /#container -->
</div>
<!-- /#global-container -->
</body>
</html>CSSコード
body {
color: #ffffff;
font-size: 3rem;
letter-spacing: 0.02em;
}
.loading h1 {
color: Black;
}
.loading__inner {
text-align: center;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
#global-container {
display: none;
opacity: 0;
visibility: hidden;
}
header {
display: flex;
justify-content: center;
align-items: center;
height: 150px;
background-color: Blue;
}
main {
height: 500px;
display: flex;
justify-content: center;
align-items: center;
background-color: Gray;
}
footer {
display: flex;
justify-content: center;
align-items: center;
height: 150px;
background-color: Black;
}Gsapコード
<script>
const loading = gsap.timeline();
loading
.from(
".js_1",
1,
{
opacity: 0,
y: 50,
},
2
)
.to(".js_1", 1, {
delay: 0.5,
opacity: 0,
y: 50,
})
.to(".js_2", 1, {
display: "none",
})
.to(".js_3", 1, {
display: "block",
opacity: 1,
visibility: "visible",
y: -10,
delay: 1,
});
</script>実装前に確認しておきたいこと
ここでは、Gsapでローディングアニメーションを実装を実際の制作へ取り入れる前に、準備しておきたい内容を整理します。先に作業範囲と確認方法を決めておくと、既存ページへの影響を抑えながら進められます。
作業の目的と変更範囲を決める
対象要素を取得する処理、動作を始める条件、見た目を変える処理の三つに分けると、コードの流れを追いやすくなります。 サンプルをそのまま貼り付ける前に、どのページ、どの要素、どの利用者へ影響するのかを書き出してください。目的が明確であれば、必要以上にコードや設定を増やさずに済みます。
元の状態へ戻せるようにする
テーマや設定を変更するときは、対象ファイルや設定値のコピーを残します。複数の変更を一度に行わず、一つ反映するたびに表示と動作を確認すると、問題が起きても原因を切り分けやすくなります。
よくあるつまずきと確認方法
Gsapでローディングアニメーションを実装が期待どおりに動かない場合は、コードを追加し続ける前に、読み込み順、対象要素、設定値、キャッシュの順で確認します。小さな入力ミスや確認条件の違いが原因になることも少なくありません。
変更が反映されない場合
保存したファイルと表示中のページが対応しているかを確認し、キャッシュを消して再読み込みします。ブラウザーの開発者ツールやWordPressのエラーログを確認すると、読み込み失敗や記述ミスを見つけやすくなります。
公開前の最終確認
ブラウザーのコンソールにエラーがないかを確認し、クリックやスクロールを繰り返してもイベントが重複しないかを試します。スマートフォン幅とキーボード操作も確認してください。
まとめ
- Gsapを使用することにより、ローディングアニメーションも簡単に実装ができる
- Gsapのtimelineを活用する
- アニメーションの流れを理解する
- ブラウザのキャッシュを活用し、アニメーションを1回のみ表示することも可能である

MEMBER COMMENTS
コメント(0件)