aos.js(Animate On Scroll Library)を使って縦長ページのスクロールアニメーションを演出・実装する方法をご紹介します。
Contents
ディスプレイ広告
縦長ページスクロールアニメーションを演出するCSS記述
※aos.cssファイルを読み込みます。グリッドボックスエリア(.aos-all、.aos-item、.aos-item__inner)のCSS記述です。必要に応じて変更して下さい。
<link rel="stylesheet" href="aos.css" /> <style type="text/css"> body{ text-align: center; } h1{ text-align: center; font-size: 22px; padding: 20px 0 0 0; line-height: 2em; } *, *:before, *:after { box-sizing: border-box; } .aos-all { width: 1000px; max-width: 98%; margin: 10vh auto 0 auto; } .aos-item { display: inline-block; float: left; width: 33.3333%; height: 300px; padding: 20px; } .aos-item__inner { position: relative; width: 100%; height: 100%; float: left; background: #333333; line-height: 260px; text-align: center; color: #fff; } @media screen and (max-width: 800px) { .aos-item { width: 50%; } } </style>
縦長ページスクロールアニメーションを演出するHTML記述
※スクロール時にアニメーション演出で表示するグリッドボックスエリア(class=”aos-item”)を複数用意します。
各ボックスエリアにdata-aos=”アニメーションパターン”を記述します。
・fade-up(フェードアップ)
・fade-down(フェードダウン)
・fade-right(右にフェード)
・fade-left(左にフェード)
・fade-up-right(右にフェードアップ)
・fade-up-left(左にフェードアップ)
等、その他にも色々なアニメーション演出パターンで表示できます。
<h1>aos.jsを使って、縦長ページスクロールアニメーションを実装してます。<br>下にスクロールして見てください。</h1> <div id="transcroller-body" class="aos-all"> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>1</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>2</h3></div> </div> <div class="aos-item" data-aos="zoom-out-down"> <div class="aos-item__inner"><h3>3</h3></div> </div> <div class="aos-item" data-aos="flip-down"> <div class="aos-item__inner"><h3>4</h3></div> </div> <div class="aos-item" data-aos="flip-up"> <div class="aos-item__inner"><h3>5</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>6</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>7</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>8</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>9</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>10</h3></div> </div> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>11</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>12</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>13</h3></div> </div> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>14</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>15</h3></div> </div> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>16</h3></div> </div> <div class="aos-item" data-aos="fade-down"> <div class="aos-item__inner"><h3>17</h3></div> </div> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>18</h3></div> </div> <div class="aos-item" data-aos="zoom-out"> <div class="aos-item__inner"><h3>19</h3></div> </div> <div class="aos-item" data-aos="fade-up"> <div class="aos-item__inner"><h3>20</h3></div> </div> <div class="aos-item" data-aos="zoom-out"> <div class="aos-item__inner"><h3>21</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>22</h3></div> </div> <div class="aos-item" data-aos="zoom-out-up"> <div class="aos-item__inner"><h3>23</h3></div> </div> <div class="aos-item" data-aos="zoom-out-down"> <div class="aos-item__inner"><h3>24</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>25</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>26</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>27</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>28</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>29</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>30</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>31</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>32</h3></div> </div> <div class="aos-item" data-aos="fade-in"> <div class="aos-item__inner"><h3>33</h3></div> </div> </div>
aos.jsを使って、縦長ページのスクロールアニメーションを演出・実装するJavaScriptの記述
※aos.jsファイルを読み込みます。AOS.init({オプション})と記述し、オプションではアニメーションのeasing等を設定できます。
<script src="aos.js"></script> <script> AOS.init({ easing: 'ease-in-out-sine' }); </script>
aos.jsを使って、縦長ページスクロールアニメーションを実装するデモページ
aos.jsを使って、縦長ページスクロールアニメーションを実装するデモページ
ソース元:AOS – Animate on scroll library
以下がソース元です。
AOS – Animate on scroll library
※流用される場合は自己責任でお願いします。
デモページheadタグ内のGoogleアナリティクスタグは流用しないで下さい。