CSS Web制作

Animate.cssをスクロールに応じてアニメーションできる『wow.js』の使い方【サンプルで解説】

※ 当サイトではアフィリエイト広告を利用しています

スクロールに応じてAnimate.cssのアニメーションを実行させる方法ある?

Animate.cssを使ったアニメーションはページを開いた時点でアニメーションが開始されます。

ただスクロールに応じてアニメーションを開始したい事も多いと思います。

今回はそれを可能にするwow.jsについて解説していきます。

Animate.cssの使い方については以下の記事を参照下さい。

あわせて読みたい
CSSで簡単にアニメーションを実装できる『Animate.css』の使い方【サンプルで解説】
CSSで簡単にアニメーションを実装できる『Animate.css』の使い方【サンプルで解説】

続きを見る

また、スクロールに応じて簡単なフェードインなどをさせたい場合はこちらの記事がおすすめです。

あわせて読みたい
inview.jsでスクロールして表示領域に入ったらフェードインさせる方法【jQueryプラグイン】
inview.jsでスクロールして表示領域に入ったらフェードインさせる方法【jQueryプラグイン】

続きを見る

 

コーディングの時給と作業効率を上げる!
2年間の実務で実際に使ったコードをまとめた『コーディング&WordPressメモまとめ集』をBrainで公開しています。
  • コピペで使えるWordPressの各テンプレート
  • 実務でよく使う見出し一覧
  • 実務でよく使うテキストのhoverアニメーション
  • 実務でよく使うボタン内の矢印9種類
  • Contact Form 7の色々・・・
などなど、他にもコピペで使えるコードがたくさん載せてあるので、時短=時給アップに繋がります。
さらに『コードのまとめ方が参考になった』というレビューも多数頂いているので、これを元に自分なりの"メモまとめ集"を作るという使い方も出来ます。
1,100部以上販売し、レビューは630件以上あるので、気になる方は以下のボタンからチェックしてみて下さい👇

1,100部突破🎉

商品ページはこちら!

2024年4月15日値上げ!

Animate.cssをスクロールに応じてアニメーションできる『wow.js』の使い方

今回は『Animate.css』と合わせて使うので『Animate.css』も読み込みます。

『Animate.css』と『wow.js』両方ともCDNで読み込む方法で進めていきます。

以下のコードをheadタグに入れます。

<!-- animate.css -->
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.6.2/animate.min.css"
/>
<!-- wow.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script>

あとはこちらのコードを</body>の直前あたりに書きます。

<script>
new WOW().init();
</script>

これで『Animate.css』と『wow.js』を使う準備が出来ました。

まずはサンプルを見てみます。

See the Pen
wow.js + Animate.css
by junpei (@junpei-sugiyama)
on CodePen.

 

コード解説

まずは先ほどのアニーションからHTMLを見てみます(上から3つだけ)

<div class="box wow animated fadeInUp">fadeInUp</div>
<div class="box wow animated fadeInDown">fadeInDown</div>
<div class="box wow animated fadeInLeft">fadeInLeft</div>

これは『Animate.css』の記事と共通する部分もありますが、class名の解説をします(boxは緑のボックス用のclassです)

class名内容
animated共通のclass(必須)
fadeInUpアニメーションの種類
infiniteループ(今回はなし)
wowwow.jsを使う為のclass

この中で『Animate.css』の記事になかったのは『wow』というclassです。

これがスクロールに応じてアニメーションを開始させる為に必要になります。

CSSは1点だけ補足します。

.box {
  animation-fill-mode: forwards;
}

このanimation-fill-mode: forwards;は、フェードアウトした要素をそのまま消えたままにしておく為に必要なプロパティです。

これがないとフェードアウトが完了した後に要素が出現してしまいます。

アニメーションの種類とclass名の確認方法は以下の記事を参照下さい。

あわせて読みたい
CSSで簡単にアニメーションを実装できる『Animate.css』の使い方【サンプルで解説】
CSSで簡単にアニメーションを実装できる『Animate.css』の使い方【サンプルで解説】

続きを見る

 

オプション

wow.jsにはいくつかオプションがあります。

data属性名内容
data-wow-durationアニメーションの時間
data-wow-delayスクロールが要素に到達してからアニメーションが発動するまでの時間
data-wow-offsetスクロールが要素に到達してからアニメーションが発動する距離
data-wow-iterationアニメーションの繰り返し回数

こちらがそれぞれ設定したサンプルになります。

See the Pen
wow.js + Animate.css(オプション)
by junpei (@junpei-sugiyama)
on CodePen.

上記はそれぞれ次のように設定しました。

data属性名内容
data-wow-duration="3s"アニメーションの時間
data-wow-delay="1s"スクロールが要素に到達してからアニメーションが発動するまでの時間
data-wow-offset="150"スクロールが要素に到達してからアニメーションが発動する距離
data-wow-iteration="2"アニメーションの繰り返し回数

これらのオプションは組み合わせて使う事も出来ます。

ちなみにdata-wow-delayをフェードインで設定したら変な挙動をしたので、bounceにしてあります(アニメーションの種類によっては相性が悪いオプションがあるかも知れません)

まとめ

今回はwow.jsの使い方を解説しました。

アニメーションの種類はたくさんあるので、ぜひいろいろ試してみて下さい。

以上になります。

あわせて読みたい
【jQuery】スクロールして要素が画面内に入ったらフェードインさせる方法
【jQuery】スクロールして要素が画面内に入ったらフェードインさせる方法

続きを見る

あわせて読みたい
inview.jsでスクロールして表示領域に入ったらフェードインさせる方法【jQueryプラグイン】
inview.jsでスクロールして表示領域に入ったらフェードインさせる方法【jQueryプラグイン】

続きを見る

 

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-CSS, Web制作
-