ループで流れるバナーを実装するプラグイン「infiniteFlow.js」を作りました。
移動方向とスピードの設定、オンマウス時に停止するかどうか、画面サイズの変更に対応しています。
「infiniteFlow.js」のデモページはこちら
「infiniteFlow.js」のダウンロード
設定方法
jQueryとstonewall.jsを読み込みます。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="infiniteFlow.js"></script>
HTML
<div id="sample01"> <ul> <li><img src="./img/img01.jpg" width="200" height="140" /></li> <li><img src="./img/img02.jpg" width="200" height="140" /></li> <li><img src="./img/img03.jpg" width="200" height="140" /></li> <li><img src="./img/img04.jpg" width="200" height="140" /></li> <li><img src="./img/img05.jpg" width="200" height="140" /></li> </ul> </div>
CSS
#sample01 ul {
width: 1050px; /* バナー1つの幅 210px × バナーの初期個数 5 */
}
#sample01 ul li {
float: left;
margin-right: 10px; /* バナー間に余白を取る場合は指定 */
}
CSSは特にしていなくても大丈夫です。
上記はJavaScriptオフ時にレイアウトが崩れないための指定になります。
JavaScript
$(function(){
$("#sample01").infiniteFlow();
});
オプション
$(function(){
$("#sample01").infiniteFlow({
direction: 'right',
onmouseStop: true,
speed: 6000
});
});
| direction | 移動方向の指定。’left’か’right’で初期値は’left’。 |
|---|---|
| onmouseStop | オンマウス時に移動を停止するかどうか。trueかfalseで初期値はfalse。 |
| speed | 移動速度を数値で指定。初期値は3000。 |
良さそうなんですが、リロードしていると時々chromeがフリーズしますね。
Mac: El capitan 10.11.6
Chrome バージョン: 63.0.3239.84(Official Build) (64 ビット)
regepanさん
ご報告ありがとうございます。
改良できそうでしたら対応してみます。