HTML / CSS / jQuery コーディング

【JS】「ScrollReveal.js」でスクロールに合わせたアニメーションを付ける


今回は、スクロールで要素が表示された時に、フワッとしたアニメーションで表示する「ScrollReveal.js」を紹介します。

各要素を時間差で表示させることも出来るので、例えば複数の画像を同時に表示するのではなく、順番に表示させることも出来ます。

⇒ 公式サイトはこちら

使い方

まずは、ライブラリをHTMLに読み込みます。

ソース

<script src="https://unpkg.com/scrollreveal"></script>

次にアニメーションさせたい要素にクラスを付与します。

今回は「anime_box」としました。画像のパスは任意に変更してください。

ソース

<div class="anime_box"><img src="img/img01.jpg"></div>

最後に、下記のコードをHTMLで呼び出します。幾つかオプションも追加しています。

ソース

<script>
ScrollReveal().reveal('.anime_box', {
distance: '50px',
duration: 1000,
viewFactor: 0.5,
origin: 'bottom',
reset: false
});
</script>

オプションを幾つかまとめました。

オプション

distance: '50px',/*表示されてから要素が移動する距離*/
duration: 1000,/*アニメーションの時間*/
viewFactor: 0.5,/*要素がどこまで表示されたらアニメーションを実行するか(1の場合100%)*/
origin: 'bottom',/*要素を動かす方向(top/right/bottom/left)*/
delay: 200,/*アニメーションを実行させるまでの時間*/
desktop: false,/*PCで有効にするか(true/false)*/
mobile: false,/*スマホで有効にするか*/
reset: false/*1回だけ動かすか*/

さらに、クラスを付与してオプションを利用すれば、時間差で表示する事が出来ます。

ソース

ScrollReveal().reveal('.item01', {
delay: 200,
});
ScrollReveal().reveal('.item02', {
delay: 500,
});
ScrollReveal().reveal('.item03', {
delay: 800,
});

通常のアニメーション表示と、時間差の表示をデモでご覧いただけます。

デモページを見る

 

「ScrollReveal.js」は、簡単に利用できるため、おすすめです。

-HTML / CSS / jQuery コーディング
-,

© 2024 Web担当屋 ブログ