- 最終更新日
- Java Script / jQuery
wow.jsとanimate.cssを使ってスクロール連動型のアニメーションを実装する!
「wow.js」というjQueryプラグインを使うとスクロールに合わせたアニメーションが可能です。
前回、紹介した「animate.css」はページが読み込まれるとアニメーションが始まってしまうため、下の方の要素にアニメーションを設定してもスクロールした時にはすでに止まっています。
繰り返しリピートの設定をしてないと意味が無いですね。でも「wow.js」とセットで使えば設定した要素へスクロールした時にアニメーションが始まってくれます。
wow.jsをダウンロードする
 
    
    「wow.js」のサイトへ行くとポップな感じでめっちゃ犬がいます(笑)。ページをスクロールをするとアニメーションの動きも確認できます。
ファイルをダウンロードするにはこちらの「GitHub」のページからおこなえます。
 
    ①の「Code」をクリックするとボックスが表示されるので、その中にある②の「Download ZIP」からダウンロードしましょう。
必要なのは「wow.min.js」のみです。ファイルがある場所は解凍したフォルダの中の「dist」の中です。
ここには「wow.js」と「wow.min.js」がありますが同じ内容のファイルです。より容量の小さい「wow.min.js」を使用しましょう。
wow.jsの導入方法
それでは「wow.js」と前回紹介した「animate.css」の両方を設定していきます。
「animate.css」のファイルも必要になりますので「animate.cssを使ってアニメーションを追加!簡単にできる導入・使用方法」を参考にダウンロードしておいてください。
こちらも見てください
 
                animate.cssを使ってアニメーションを追加!簡単にできる導入・使用方法
index.html
            
                - <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>wow.jsを使ったアニメーション</title>
- <link type="text/css" rel="stylesheet" href="css/animate.min.css">
- <style>
- * {
-   margin: 0;
-   padding: 0;
-   box-sizing: border-box
- }
-  
- html {
-   font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic", sans-serif;
-   font-size: 62.5%;
-   letter-spacing: 0.09em;
-   font-feature-settings: "palt"
- }
-  
- p {
-   font-size: 2rem;
-   font-weight: 600;
-   text-align: center;
-   margin: 100px 0
- }
- </style>
- </head>
- <body>
-   <p class="animate__animated animate__bounce wow" data-wow-delay="0.6s">wow.jsを使ったアニメーション</p>
- <script type="text/javascript" src="js/wow.min.js"></script>
- <script>
-   new WOW().init();
- </script>
- </body>
- </html>
	HTMLファイルは上記をコピペしてください。それではそれぞれをファイルの設置場所も確認しておきます。
 
    上記のようにファイルを設置できたらブラウザでアニメーションをご確認頂けます。あとはindex.htmlに記述している大事なところをチェックしていきましょう。
            
                - <p class="animate__animated animate__fadeInUp wow" data-wow-delay="0.6s">wow.jsを使ったアニメーション</p>
	「animate__animated」と「animate__fadeInUp」はanimate.cssの設定です。アニメーションさせたい要素に「animate__animated」を付け、「animate__fadeInUp」でアニメーションの種類を指定しています。
「wow」がスクロール連動の指定です。さらに「data-wow-delay="0.6s"」で表示するタイミングを設定します。
wow.jsのオプション設定は「data-wow-delay」の他にもありますので次項で紹介します。
            
                - <script type="text/javascript" src="js/wow.min.js"></script>
	次に「wow.min.js」の読み込みです。
大体のjQueryは使用する時に「jquery.js」も読み込まなければいけないんですが、「wow.js」の場合は読み込む必要がありません。
            
                - <script>
-   new WOW().init();
- </script>
	最後にコレ、これの記述を忘れると動かないので注意してください。
wow.jsの設定とデモ
それでは「wow.js」で設定できるオプションとその動きについて紹介します。
- data-wow-duration
- 
            	アニメーションの継続時間。「2s」とすると2秒かけてアニメーションします。 data-wow-durationの設定 - <p class="animate__animated animate__fadeInUp wow" data-wow-duration="2s">data-wow-durationの設定</p>
 
- data-wow-delay
- 
            	アニメーション開始のタイミング。「1s」とすると1秒後にアニメーションします。 data-wow-delayの設定 - <p class="animate__animated animate__fadeInUp wow" data-wow-delay="1s">data-wow-delayの設定</p>
 
- data-wow-offset
- 
            	アニメーションをスタートさせる位置。「200」とすると設定した要素が下から200pxの位置に来るとアニメーションします。 data-wow-offsetの設定 - <p class="animate__animated animate__fadeInUp wow" data-wow-offset="200">data-wow-offsetの設定</p>
 
- data-wow-iteration
- 
            	アニメーションのリピート回数。「3」とすると3回繰り返しアニメーションします。 data-wow-iterationの設定 - <p class="animate__animated animate__fadeInUp wow" data-wow-iteration="3">data-wow-iterationの設定</p>
 
スクロールして指定した要素がちょっとでも見えたらアニメーションが始まりますからねぇ、確認しづらい場合はページを再読み込みして動きをご確認ください(笑)。
あとはご自身の環境で確認して頂く方が良いですね。オプションの数値などを色々変更して試してみてください。
 
                                             
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                