スクロールするときにちょっとしたアニメーションを付けると動きがでて楽しさが増しますよね!
今回はwow.jsを使ってAnimate.cssで動きを加えてみます!
アニメーションはAnimate.cssのページから好きなものを選んでください
https://animate.style/
STEP01
まずは下準備です。
「wow.js」と「animate.css」をGitHubからダウンロードしてきます。
wow.js
https://github.com/matthieua/WOW
animate.css
https://github.com/animate-css/animate.css
ダウンロードしてきた「wow.js」と「animate.css」をそれぞれ任意のフォルダへ格納して、html上に読み込んでおきます。
<head>内に下記を入れます。
※jQueryは不要です
HTML<head>内
<link rel="stylesheet" href="css/animate/animate.css">
<script src="js/wow/wow.js"></script>
<script>
new WOW().init();
</script>
STEP02
これで下準備が整ったので、あとは動きを付けたい箇所に以下のclassを追加していくだけです!
HTML
<ul>
<li class="wow animate__animated animate__bounce">BOUNCE01</li>
<li class="wow animate__animated animate__bounce">BOUNCE02</li>
<li class="wow animate__animated animate__bounce">BOUNCE03</li>
<li class="wow animate__animated animate__bounce">BOUNCE04</li>
<li class="wow animate__animated animate__bounce">BOUNCE05</li>
<li class="wow animate__animated animate__bounce">BOUNCE06</li>
<li class="wow animate__animated animate__bounce">BOUNCE07</li>
<li class="wow animate__animated animate__bounce">BOUNCE08</li>
<li class="wow animate__animated animate__bounce">BOUNCE09</li>
</ul>
これだけで完成~
classにwowを読み込んでjsを動かします。
同じくclassにanimate__animated animate__bounceを読み込んで【bounce】アニメーションを付けます。
冒頭でも紹介しましたが、アニメーションはAnimate.cssのページから好きなのを選んでください!
※Animate.cssのバージョンによってはclass名の書き方が異なる場合がありますので、都度確認が必要です。今回のバージョンは4.1.1です
オプション
アニメーションに時間差をつけたい場合はdata-wow-delayを付けるだけでOK!
とってもカンタンですね~
デモページのソースコードは以下の通りです^^
HTML
<div id="pattern01">
<h2>animate【bounce】</h2>
<ul>
<li class="wow animate__animated animate__bounce" data-wow-delay=".1s">BOUNCE01</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".2s">BOUNCE02</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".3s">BOUNCE03</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".3s">BOUNCE04</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".4s">BOUNCE05</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".5s">BOUNCE06</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".5s">BOUNCE07</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".6s">BOUNCE08</li>
<li class="wow animate__animated animate__bounce" data-wow-delay=".7s">BOUNCE09</li>
</ul>
</div>
<div id="pattern02">
<h2>animate【jello】</h2>
<ul>
<li class="wow animate__animated animate__jello" data-wow-delay=".3s">JELLO01</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".6s">JELLO02</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".9s">JELLO03</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".3s">JELLO04</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".6s">JELLO05</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".9s">JELLO06</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".3s">JELLO07</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".6s">JELLO08</li>
<li class="wow animate__animated animate__jello" data-wow-delay=".9s">JELLO09</li>
</ul>
</div>
<div id="pattern03">
<h2>animate【bounceIn】</h2>
<ul>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".3s">BOUNCEIN01</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".6s">BOUNCEIN02</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".9s">BOUNCEIN03</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".3s">BOUNCEIN04</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".6s">BOUNCEIN05</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".9s">BOUNCEIN06</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".3s">BOUNCEIN07</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".6s">BOUNCEIN08</li>
<li class="wow animate__animated animate__bounceIn" data-wow-delay=".9s">BOUNCEIN09</li>
</ul>
</div>
<div id="pattern04">
<h2>animate【fadeInUp】</h2>
<ul>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".3s">FADEINUP01</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".6s">FADEINUP02</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".9s">FADEINUP03</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".3s">FADEINUP04</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".6s">FADEINUP05</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".9s">FADEINUP06</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".3s">FADEINUP07</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".6s">FADEINUP08</li>
<li class="wow animate__animated animate__fadeInUp" data-wow-delay=".9s">FADEINUP09</li>
</ul>
</div>