Web業界の動向・情報
投稿日:

【コーディング屋のネタ帳】簡単に実装できるスクロールアニメーション3選

最近のWEBサイトでは、スクロールに合わせて要素がふわっと現れる「スクロールアニメーション」をよく見かけますよね。動きのあるデザインを加えることで、ユーザーの興味を引きつけ、ページにインパクトを与えることができます。ただ、JavaScriptの知識があまりないと「アニメーションの設定が複雑なのでは?」と感じる方も多いでしょう。

そこで今回は、私たち、ファストコーディングのようなコーディング専門会社に頼まなくても、手軽に導入できるスクロールアニメーションのライブラリを3つご紹介します。HTMLにクラスやデータ属性を追加するだけで動かせるものもあるため、JavaScriptに詳しくないWEBデザイナーや、インハウスでサイトを制作している方でも簡単に利用できます。

これらのライブラリで、ページのデザインに動きをプラスし、ワンランク上のWEBサイト作りに挑戦してみましょう!

超簡単!ライブラリ使用+HTMLのみで実装できるスクロールアニメーション

(1)AOS (Animate On Scroll)

https://michalsnik.github.io/aos

AOSは、ライブラリを読み込んでHTMLの要素にデータ属性(例: data-aos="fade-up")を追加するだけで、スクロールに合わせたシンプルなアニメーションが実装可能です。初心者向けで、簡単な設定だけで複数のアニメーションを実現できます。

ただし、シンプルなスクロールアニメーションに特化しているため『複雑なカスタマイズを行いたい場合』には適していません。ちゃちゃっと簡単にスクロールアニメーションを使いたいときに便利です。

おすすめの用途:シンプルなスクロールアニメーションを多数の要素に適用したい場合

AOS (Animate On Scroll)の導入方法

1ライブラリを読み込む

最も簡単な方法は、CDNを利用する方法です。以下のコードをHTMLの<head>タグ内に追加してください。

CDNを使わず、ローカルに保存して使用する場合は、AOSのGitHubページからファイルをダウンロードして同様に読み込みます。

2AOSの初期化

AOSを有効にするため、JavaScriptで初期化を行います。<script>タグを使い、AOS.init()と記述するだけでOKです。このコードは、HTMLの</body>タグ直前に記述すると良いでしょう。

3HTML要素にアニメーションを追加する

AOSでは、アニメーションを適用したいHTML要素にdata-aos属性を追加するだけで、さまざまなアニメーションを実現できます。

このほかにも、data-aos属性には、以下のような値を指定できます。

  • fadefade-upfade-downfade-leftfade-right
  • flip-leftflip-rightflip-upflip-down
  • zoom-inzoom-out
4オプションでアニメーションをカスタマイズする

さらに、AOSにはオプション設定があり、細かくカスタマイズ可能です。以下のデータ属性を追加することで、アニメーションの速度や遅延、タイミングを変更することもできます。

4.1 アニメーションの遅延

data-aos-delayを使うと、アニメーションの発動までの遅延を指定できます(単位はミリ秒)。

4.2 アニメーションの持続時間

data-aos-durationを使用すると、アニメーションの実行時間を変更できます。

そのほかにも様々なパラメータが設定可能なので、ぜひ調べてみてくださいね。

(2)WOW.js + Animate.css

https://wowjs.uk

WOW.jsは、Animate.cssのアニメーションをスクロールでトリガーするためのライブラリで、HTMLのクラス指定だけでアニメーションを追加できます。wowクラスを追加し、data-wow-durationdata-wow-delayなどのデータ属性を設定するだけで動作するため、設定が非常に簡単です。

一方で、Animate.cssのプリセットに依存するため、特定の動きや複雑なアニメーションには対応しにくいといった面も。

おすすめの用途:シンプルなスクロールアニメーションを少ない手間で実装したい場合

WOW.js + Animate.cssの導入方法

1ライブラリを読み込む

多彩なアニメーション効果が用意されているAnimate.cssと、スクロール位置に応じてAnimate.cssを発動させるWOW.jsはCDNを使って簡単に読み込めます。

Animate.cssを読み込むには、以下のスクリプトタグをHTMLファイルのタグ直前に追加してください。

Animate.cssをローカルに保存して利用したい場合は、公式サイトからファイルをダウンロードし、CSSファイルをプロジェクト内に配置して読み込みます。

WOW.jsを読み込むには、以下のスクリプトタグをHTMLファイルの</body>タグ直前に追加してください。

WOW.jsをローカルに保存したい場合は、WOW.jsのGitHubページからダウンロードし、プロジェクト内に配置して読み込みます。

2WOW.jsの初期化

WOW.jsを有効にするために、JavaScriptで初期化を行います。以下のコードを</body>タグ直前に記述してください。

これで、WOW.jsがページ上で動作する準備が整いました。

3HTML要素にアニメーションを追加する

Animate.cssとWOW.jsを組み合わせることで、HTML要素にクラスを追加するだけでスクロールアニメーションを設定できます。

3.1基本的な設定

アニメーションを追加したい要素に、wowクラスとAnimate.cssのアニメーションクラス(例: animate__fadeIn)を指定します。以下のようにHTMLにクラスを追加するだけでOKです。

3.1他のアニメーション例

Animate.cssには多彩なアニメーションが揃っており、以下のように設定できます。

  • フェードイン: animate__fadeIn
  • スライドイン: animate__slideInLeftanimate__slideInRight
  • ズームイン: animate__zoomIn
  • 回転: animate__rotateIn
4オプションでアニメーションをカスタマイズする

WOW.jsには、アニメーションの遅延や持続時間を設定するオプションが用意されています。以下のデータ属性を追加することで、アニメーションをカスタマイズできます。

4.1 アニメーションの遅延

data-wow-delay属性を追加すると、アニメーションの開始までの遅延を指定できます(単位は秒)。

4.2 アニメーションの持続時間

data-wow-duration属性を追加すると、アニメーションの実行時間を設定できます。

4.3 スクロールアニメーションが発動するタイミングを調整

デフォルトでは、要素がビューポートに入ったときにすぐアニメーションが発動しますが、data-wow-offsetを指定すると、指定したピクセル分だけスクロールが進んでからアニメーションを開始させることができます。

(3)ScrollReveal

https://scrollrevealjs.org

ScrollRevealは、スクロールイベントに応じて要素が滑らかに現れるアニメーションを簡単に実装できるライブラリです。コードが少なく済むため、ウェブページをすっきりと保ちながら動的な演出を加えられます。

JavaScriptの知識やライブラリの学習が必要ですが、豊富なオプションも利用することで、複雑なインタラクションも実現できます。

おすすめの用途:特定のタイミングやエフェクトを駆使して、クリエイティブなアニメーションを作成したい場合(製品紹介ページ、ポートフォリオなど)

ScrollRevealの導入方法

1ライブラリを読み込む

ScrollRevealを簡単に利用する方法として、CDNを使う方法があります。以下のコードをHTMLの<head>タグ内、または</body>タグ直前に追加してください。

ScrollRevealのファイルをダウンロードして、プロジェクト内に配置することも可能です。ScrollRevealの公式ページやGitHubからファイルをダウンロードしてください。ローカルに保存したファイルをHTMLに読み込みます。

2ScrollRevealの初期化

ScrollRevealを使用するには、ページのロード時に初期化が必要です。以下のコードをHTMLの</body>タグ直前に追加します。

上記のコードで、クラスがrevealの要素にアニメーションが適用されます。

3HTML要素にアニメーションを追加する

アニメーションを追加したいHTML要素にrevealクラスを設定します。ScrollRevealは指定したクラスの要素にアニメーションを適用するので、他の要素には影響しません。

4アニメーションのカスタマイズ

ScrollRevealでは、アニメーションの詳細をカスタマイズすることも可能です。以下のようなオプションを指定して、アニメーションの動きや遅延、持続時間などを調整できます。

4.1 アニメーションの遅延 (delay)

delayオプションで、アニメーションが始まるまでの遅延時間を指定できます(単位はミリ秒)。

この例では、500ミリ秒遅れてアニメーションが発動します。

4.2 アニメーションの持続時間 (duration)

durationオプションで、アニメーションの実行時間を調整できます(単位はミリ秒)。

この例では、1秒かけてアニメーションが実行されます。

4.3 アニメーションの距離 (distance)

distanceオプションを指定して、アニメーションの移動距離を調整します。値は50px100pxなど、任意の距離を指定できます。

この例では、100px移動しながらアニメーションが実行されます。

4.4 アニメーションの方向 (origin)

originオプションを指定すると、アニメーションの開始位置を変更できます。例えば、topbottomleftrightのいずれかを指定できます。

この例では、要素が左から50pxスライドしながら表示されます。

そのほかにも様々なオプションが設定可能なので、ぜひ調べてみてくださいね。

まとめ

いかがでしたか?AOS、ScrollReveal、WOW.js + Animate.cssの3つのライブラリは、どれも手軽に導入でき、少ないコードで動きのあるページを作成できます。プロジェクトの用途やデザインの雰囲気に合わせて、適切なライブラリを選んでみてくださいね。

ただし、より複雑で独自性の高いアニメーションや、全体のデザインに統一感を持たせた動きの演出には、専門的な技術が求められる場合があります。そのような高度なアニメーションをご希望でしたら、ぜひ私たちのような専門のコーディング会社にご相談ください。貴社のブランドイメージにぴったり合った、プロフェッショナルなアニメーションデザインをご提案させていただきます。