C04-08 : FlexSlider 2
準備
jQueryライブラリのため、jQueryとセットで読み込みます。
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">window.jQuery || document.write('<script src="jquery-1.8.2.min.js"><\/script>')</script>
<link type="text/css" rel="stylesheet" href="js/flexslider/flexslider.css">
<script type="text/javascript" src="js/flexslider/jquery.flexslider-min.js"></script>
シンプルなフリックスライダー
FlexSlider2で作る最もシンプルなフリックスライダーです。デフォルトではアニメーションがフェードになっているためスライドに変更しています。
$(window).load(function() {
$('.flexslider-simple').flexslider({
animation: 'slide'
});
});
<div class="flexslider" id="flexslider-simple"> <ul class="slides"> <li><img src="img/001.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/002.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/003.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/004.jpg" width="320" heigth="210" alt=""></li> </ul> </div>
サムネイル付きのフリックスライダー
先ほどのシンプルなフリックスライダーにサムネイルを付けたものです。data属性でサムネイル画像を設定し、オプションで「controlNav: 'thumbnails'」とすることで生成されます。
$(window).load(function() {
$('.flexslider-thumb').flexslider({
animation: 'slide',
controlNav: 'thumbnails'
});
});
<div class="flexslider" id="flexslider-thumb"> <ul class="slides"> <li data-thumb="img/001.jpg"><img src="img/001.jpg" width="320" heigth="210" alt=""></li> <li data-thumb="img/002.jpg"><img src="img/002.jpg" width="320" heigth="210" alt=""></li> <li data-thumb="img/003.jpg"><img src="img/003.jpg" width="320" heigth="210" alt=""></li> <li data-thumb="img/004.jpg"><img src="img/004.jpg" width="320" heigth="210" alt=""></li> </ul> </div>
サムネイル付きのフリックスライダー(カルーセル)
FlexSlider2を使ってカルーセルとスライダーを作成し、2つを連動させることができます。タップされたカルーセルに対応する位置のスライドに切り替えたり、表示されているスライドにあわせてカルーセルが切り替わります。
もちろん、カルーセルだけを独立させて動かすこともできます。
$(window).load(function() {
$('#flexslider-cs').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
sync: "#flexslider-carousel"
});
$('#flexslider-carousel').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 223,
itemMargin: 5,
minItems: 2,
maxItems: 4,
asNavFor: '#flexslider-cs'
});
});
<div class="flexslider" id="flexslider-cs"> <ul class="slides"> <li><img src="img/001.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/002.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/003.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/004.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/005.jpg" width="320" heigth="210" alt=""></li> </ul> </div> <div class="flexslider" id="flexslider-carousel"> <ul class="slides"> <li><img src="img/001.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/002.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/003.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/004.jpg" width="320" heigth="210" alt=""></li> <li><img src="img/005.jpg" width="320" heigth="210" alt=""></li> </ul> </div>
オプション
| プロパティ | 初期値 | 説明 |
|---|---|---|
| namespace | flex- | FlexSlider2によって生成されるクラス名のプレフィックス(接頭文字)を設定します。 |
| selector | .slides > li | スライド要素までのセレクタを設定します。 |
| animation | fade | 切り替えアニメーションの種類を "fade" or "slide" から設定します。 |
| easing | swing | 切り替えアニメーションのイージングを "swing" or "linear" から設定します。jQuery easing pluginを読み込むことで設定できる値を拡張することができます。 |
| direction | horizontal | animationでslideを設定していた場合に、スライドする方向を "horizontal" or "vertical" から設定します。 |
| reverse | false | trueの場合、アニメーションを逆再生します。 |
| animationLoop | true | trueの場合、最後のスライドの次は最初の要素になります。falseの場合、最後のスライドになったら次のスライドを表示できなくなります(戻ることはできます)。 |
| smoothHeight | false | trueの場合、スライドごとの高さを内容量に合わせて自動的にリサイズします。 |
| startAt | 0 | 最初に表示されるスライドの番号を設定します。0からカウントアップするため、1番目は0になります。 |
| slideshow | true | trueの場合、スライドが自動で切り替わります。 |
| slideshowSpeed | 7000 | 自動切り替えの待機時間をミリ秒単位で設定します。 |
| animationSpeed | 600 | スライドの切り替えアニメーションの再生時間をミリ秒単位で設定します。 |
| initDelay | 0 | FlexSlider2の初期化遅延時間をミリ秒単位で設定します。 |
| randomize | false | スライドの順番をランダムにします。 |
| pauseOnAction | true | trueの場合、ユーザーがスライダーを操作したらスライドショーを停止させます。 |
| pauseOnHover | false | trueの場合、ユーザーがスライダーをマウスオーバーしたらスライドショーを停止させます。 |
| useCSS | true | tureの場合、スライドのアニメーションにCSS3 Transitionsを使います。使えない場合はfalseのときと同様の動きになります。 |
| touch | true | trueの場合、スワイプでのスライド切り替えを有効にします。 |
| video | false | trueの場合、CSS3 Transitionsによるアニメーションが無効になります。これはビデオ要素に対してCSS3 Transitionsで不具合が起きるためです。 |
| controlNav | true | trueの場合、スライダーの数に合わせて増減する●ボタンを表示します。 |
| directionNav | true | trueの場合、スライダーを操作する「次へ」「前へ」ボタンを表示します。 |
| prevText | Previous | スライダーを操作する「前へ」ボタンのテキストを設定します。 |
| nextText | Next | スライダーを操作する「次へ」ボタンのテキストを設定します。 |
| keyboard | true | trueの場合、キーボードの左右矢印キーでスライドを操作することができます。 |
| multipleKeyboard | false | trueの場合、キーボード操作によって複数のスライダーを操作することができます。1ページ中に複数のスライダーがある場合、この設定をtrueにしないとキーボード操作ができません。 |
| mousewheel | true | trueの場合、マウスホイールでスライドを操作することができます。 |
| pausePlay | false | trueの場合、スライドショーの再生/停止ボタンを作成します。 ※デフォルトのCSSファイルにはこの機能に対するスタイルが設定されていないようです。 |
| pauseText | Pause | 停止ボタンのテキストを設定します。 |
| playText | Play | 再生ボタンのテキストを設定します。 |
| controlsContainer |
ナビゲーション要素を指定したセレクタの要素に作成します。セレクタの指定はjQueryと同じ指定の仕方ができます。
$(window).load(function(){
$('.flexslider').flexslider({
controlsContainer: '#hoge',
});
});
|
|
| manualControls |
オリジナルのコントロールボタンを作成することができます。このときスライドの数をボタンの数と一致させなければいけません。
$(window).load(function(){
$('.flexslider').flexslider({
manualControls: '#hoge a',
});
});
|
|
| sync |
ここで指定したスライダーにこのスライダー上で実行されるアクションを反映させます。
$(window).load(function(){
$('#flexslider-cs').flexslider({
sync: "#flexslider-carousel"
});
});
|
|
| asNavFor |
このスライダーを別のスライダーのサムネイルとして使う際に、ターゲットとなるスライダーを指定します。 ※サムネイル付きのフリックスライダー(カルーセル)を参考にしてください。
$(window).load(function(){
$('#flexslider-carousel').flexslider({
asNavFor: '#flexslider-cs',
});
});
|
|
| カルーセル | ||
| itemWidth | 0 | カルーセルの個々の項目のborderとpaddingを含んだ幅を設定します。 |
| itemMargin | 0 | カルーセルの項目同士の間の余白を設定します。 |
| minItems | 0 | 表示される項目の最小数を設定します。項目の大きさはこの値を元に自動で変更されます。 |
| maxItems | 0 | 表示される項目の最大数を設定します。項目の大きさはこの値を元に自動で変更されます。 |
| move | 0 | アニメーションで移動する項目の数を設定します。0の場合、表示されているすべての項目数分を移動します。 |
オプション
| start | function(){} | 最初のスライダーのロードした時点で実行されます。 |
| before | function(){} | スライドの切り替えアニメーション開始前に実行されます。 |
| after | function(){} | スライドの切り替えアニメーション終了後に実行されます。 |
| end | function(){} | 最後のスライドが表示された時点(アニメーション前)で実行されます。 |









