背景を無限にスクロールさせたり、例えば何かのイベントでスポンサー様方のロゴをスクロールで表示させたりしなければいけない場合があるかと思います。
そういった時に、以下方法で実際に実装しました。
1.CSSで無限スクロールさせる方法
1枚の画像を無限に横のリピートスクロールさせるだけならこの方法で十分です。
.loop { width: 100%; height: 200px; /*画像の高さ等*/ background: url(loop.jpg) repeat-x; background-position: center; animation: bgloop 30s linear infinite; /*秒数等はお好きな数値に、infiniteは残す*/ } @keyframes bgloop { from { background-position: 0 0; } to { background-position: -1000px 0; /*-1000px部分は画像の横幅と同じ数値*/ } }
2.複数の画像やリストを縦や横に無限スクロールさせる方法
複数の画像群(サイズ不ぞろいでも可)とか、リストで囲まれた例えばスポンサー様方のロゴなどを縦や横(主に横だとは思いますが)に、無限にスクロールさせる方法です。
jQueryプラグイン(infiniteslidev2)を使います。これ、とっても素晴らしいです。
愛用のbxslider様のティッカーモードでなんとかならないか試行錯誤しましたが、どうにもならないとき、infiniteslidev2が助けてくれました。
以下のように設定します。縦スクロールや、デフォルトは右から左へ流れますが、左から右にもいけたり、スクロールスピードも変えれます。詳しくはGithubへ。
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script src="infiniteslidev2.js"></script> <script> $(function(){ $('.js-loop').infiniteslide(); }); </script> <div class="js-loop"> <ul> <li><img src="loop__img--1.jpg"></li> <li><img src="loop__img--2.jpg"></li> <li><img src="loop__img--3.jpg"></li> </ul> </div>