pagetop

BLOG

【JS】スクロールアニメーションが超簡単に設定できるaos.jsの使い方

  • HOME

  • BLOG

  • 【JS】スクロールアニメーションが超簡単に設定できるaos.jsの使い方

Article

【JS】スクロールアニメーションが超簡単に設定できるaos.jsの使い方

javascript

スクロールアニメーションが当たり前の昨今。様々なプラグインがあると思いますが、個人的にaos.js推しです。
簡単な上に、オプションが豊富でカスタマイズが容易。マジで使えるわ〜
なので、概略をメモします。

 

AOS.jsとは

AOS.js(Animate On Scroll)は、ウェブサイトにスクロールアニメーションを追加するための軽量で使いやすいJavaScriptライブラリです。AOS.jsを使用することで、要素が画面内にスクロールされる際にアニメーション効果を適用することができます。その簡単な設定と豊富なアニメーションオプションから、ウェブデザイナーや開発者にとって優れたツールとなっています。

 

AOS.jsの特徴

シンプルな導入

AOS.jsの導入は非常に簡単です。必要なのはAOSライブラリのスクリプトと、適用したい要素に適切な属性を追加するだけです。

軽量

AOS.jsは軽量なライブラリであり、ページの読み込み時間に大きな影響を与えません。これにより、ウェブサイトのパフォーマンスを損なうことなくアニメーションを実装できます。

カスタマイズ可能なアニメーション

AOS.jsには多くのアニメーションオプションが用意されており、要素が表示される際の動きや速度、遅延などを細かく調整できます。フェードインやズームインなどの一般的なアニメーションから、カスタムエフェクトまで幅広い選択肢があります。

対応する要素の選択

AOS.jsは適用する要素をCSSセレクタで選択できます。これにより、特定の要素だけにアニメーションを適用することが可能です。

モバイルフレンドリー

AOS.jsはモバイルデバイスにも適しており、スマートフォンやタブレットでのアニメーションもスムーズに動作します。

 

AOS.jsの使い方

以下はAOS.jsを使ったスクロールアニメーションの簡単な導入手順です。

AOS.jsのスクリプトを追加

HTMLファイル内でAOS.jsのスクリプトを読み込みます。以下はCDNを使用する例です。

同様にCSSも読み込みます。

javascript
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.js"></script>
css
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">

 

ダウンロードして使用する場合は公式サイトからお願いします。

AOSの公式ページ

 

要素にアニメーションを適用する

アニメーションを適用したい要素にdata-aos属性を追加します。この属性の値にはアニメーションの種類を指定します。

<div data-aos="fade-up">この要素がフェードインします。</div>

AOSの初期化

AOS.jsを初期化するためのJavaScriptコードを追加します。通常はページのロード時に初期化します。

<script>
AOS.init();
</script>

 

オプションの設定

オプションをカスタマイズすることも可能です。例えば、遅延を設定する場合は以下のようにします。

<script>
AOS.init({
delay: 200, // アニメーションが遅延して表示される
});
</script>

オプションの種類は以下です。

オプション 説明
delay アニメーションの遅延時間(ミリ秒)を設定 delay: 200
duration アニメーションの実行時間(ミリ秒)を設定 duration: 800
easing アニメーションのイージング関数を設定 easing: ‘ease-in-out’
offset アニメーションの発動位置をオフセットで設定 offset: 100
once アニメーションを1回きりに制限するかどうか設定 once: true
mirror アニメーションをスクロール方向に繰り返すか設定 mirror: true
anchor-placement アニメーション要素の基準点を設定 anchor-placement: ‘top-center’
startEvent アニメーションを開始するイベントを設定 startEvent: ‘DOMContentLoaded’
disable 特定の画面幅でAOS.jsを無効にするか設定 disable: ‘mobile’
initClassName 初期化時に適用されるクラス名を設定 initClassName: ‘aos-init’
animatedClassName アニメーション中に適用されるクラス名を設定 animatedClassName: ‘aos-animate’

 

複数オプション設定例

AOS.init({
delay: 200,
duration: 800,
easing: 'ease-in-out',
offset: 100,
once: true,
mirror: true,
anchorPlacement: 'top-center',
startEvent: 'DOMContentLoaded',
disable: 'mobile',
initClassName: 'aos-init',
animatedClassName: 'aos-animate'
});

各オプションは、ウェブサイトのデザインやアニメーションの要件に合わせて調整できます。

また、data-aos属性内に直接オプションを記述することもできます。

<div data-aos="fade-up" data-aos-delay="200" data-aos-duration="800" data-aos-easing="ease-in-out">
この要素が遅延してフェードインします。
</div>

このように、data-aos属性にアニメーションの種類を記述した後に、data-aos-オプション名の形式でオプションを記述します。上記の例では、data-aos-delayで遅延時間、data-aos-durationでアニメーション時間、data-aos-easingでイージング関数を設定しています。

この方法を使用することで、各要素ごとに異なるオプションを指定することができます。ただし、スクリプト内でオプションを指定する方法と比べると、複雑な設定や多くの要素に適用する場合には、スクリプト内で設定する方が効率的かもしれません。

 

CSSでコントロールする

アニメーションを任意のCSSでコントロールすることも可能です。

css
.fade-up {
-webkit-transition: 1s;
-o-transition: 1s;
transition: 1s;
}
html
<div class="fade-up" data-aos="fade-up">
この要素がフェードインします。
</div>

このように記述することで、設定したdelayと似た効果が得られます。

 

ちょっと応用編

AOS.jsで、ある要素が表示されたらオブジェクトをアニメーションで出現させることもできます。

<div class="side-item trigger-right" data-aos="fade-left" data-aos-anchor="#trigger">
<img src="img/1.jpg">
</div>

〜略〜

<div>〜</div>
<div>〜</div>
<div>〜</div>
<div id="trigger">〜</div>
<div>〜</div>
<div>〜</div>

こうすることで、trigger要素が表示されたらimg/1.jpgが表示されます。

 

まとめ

AOS.jsはウェブサイトに簡単かつ軽量なスクロールアニメーションを導入するのに優れたツールです。シンプルな設定と多彩なアニメーションオプションにより、ウェブデザインにダイナミックな要素を追加する際に役立ちます。是非AOS.jsを活用して、魅力的なウェブページを作成してみてください。

 

デモはこちら

Spread the love