もう年の瀬ですね。
当社の営業日も実質今日で終わりです。
あとは大掃除を残すのみ(/・ω・)/
そんな中でのこんなブログ記事です。
仕事熱心ですねー_(:3 」∠)_
bxSlider、ご存知ですよね?
たぶん有名だと思う、高機能で簡単設置できてレスポンシブにも対応しているjQueryスライダーです。
(スライダーともカルーセルとも言えるとは思いますが)
オプションも充実しています。
私も業務で必要になるたびに利用しています。
「スライダーの時は、これかな」
みたいな感じです。
使うたびに設置方法とかオプションとか調べるのが手間になるし、効率も悪いので、この辺で記事にまとめておこうと思った次第です。
bxSliderをダウンロード
まずは公式サイトからファイルを一式ダウンロードしましょう。
bxSlider 公式サイト

「Click here to install」をクリックすると、詳しい設置説明ページに行きます。

スクロールして、画面中ほどにある「Download jquery.bxslider.zip here」からファイルのダウンロードができます。
bxSliderをインストール
必要になるファイルを読み込みます。
<head>内に記載
<link rel="stylesheet" type="text/css" href="css/jquery.bxslider.min.css">
</body>直前に記載
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script type="text/javascript" src="js/jquery.bxslider.min.js"></script>
最近は、JavaScriptやjQueryを読み込む場所は</body>直前が推奨されてます。
ページ内すべての要素を読み込んでからJavaScriptやjQueryを読み込む流れだと、JavaScriptやjQueryの読み込みエラーでロードが長くなったとしても影響が少ないからですね。
今まで通り<head>だと、JavaScriptやjQueryの読み込み時にエラーになると、そこでロードが長くなってしまって、ページの表示速度が遅くなったりしますので、注意しましょう。
※使用するオプションによっては、以下のファイルの読み込みも必要になります。
jQuery本体と、jquery.bxslider.min.jsの間にはさんでください。
<script type="text/javascript" src="js/jquery.fitvids.js"></script> <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
HTML
<ul class="slider"> <li><img src="img/photo01.jpg" alt="スライド1"></li> <li><img src="img/photo02.jpg" alt="スライド2"></li> <li><img src="img/photo03.jpg" alt="スライド3"></li> <li><img src="img/photo04.jpg" alt="スライド4"></li> </ul>
HTMLはシンプルです。
とくになんの問題もないですね(‘ω’)ノ
JavaScript
<script>
$(document).ready(function(){
$('.slider').bxSlider();
});
</script>
オプションをなにも指定しなくても、最低限これだけ記載すれば動きます。
ちなみに.sliderの部分には、idかclass名を入れましょう。
今回はclassをsliderにしているので、.sliderとなります。
オプション設定した場合は以下のような感じに記載します。
<script>
$(document).ready(function(){
$('.slider').bxSlider({
mode: 'horizontal',
speed: 2000
});
});
</script>
オプション一覧
というわけで。
設定できるオプションについて一覧にまとめました。
できることが多いんですが、数が多いので、使いたい時にさくっと調べられればいいなーという感じでまとめてます。
一般的なオプション
| mode | スライド間の遷移のタイプ ‘horizontal’ 横方向(初期値) ‘vertical’ 縦方向 ‘fade’ フェード |
|---|---|
| speed | スライド遷移時間(ミリ秒) 整数を指定 初期値:500 |
| slideMargin | 各スライド間のマージン 整数を指定 初期値:0 |
| startSlide | 開始スライドを設定(ゼロベース) 整数を指定 初期値:0 |
| randomStart | 最初に表示するスライドをランダムに設定 false(初期値) true |
| slideSelector | スライドとして使用する要素(例: ‘div.slide’) jQueryセレクタで指定。 |
| infiniteLoop | ループ設定 true(初期値) false |
| hideControlOnEnd | スライドが最初または最後である場合、「Prev」および「Next」コントロールを表示or非表示の設定 infiniteLoop:falseの場合にのみ有効 false(初期値) true |
| easing | css3のtransitionを使用するときのeaseのタイプ css3を使用する場合はtransition-timing-functionの値を入れる、css3のtransitionを使用しない場合はjquery.easing.1.3.jsのオプションの値を入れる。 初期値:null ※jquery.easing.1.3.js必須 |
| captions | 画像キャプションを表示。キャプションはimgのtitle属性から取得。 false(初期値) true |
| ticker | tickerモードでスライダを使用。ニュースピッカーみたいなやつ false(初期値) true |
| tickerHover | スライダーの上にマウスを置くと、tickerが一時停止するかどうか設定。 css3のtransitionを使用している場合、この機能は無効 false(初期値) true |
| adaptiveHeight | 各スライドの高さに基づいてスライダの高さを動的に調整 false(初期値) true |
| adaptiveHeightSpeed | スライドの高さ遷移時間(単位:ms) adaptiveHeight:trueの場合にのみ有効 整数を指定 初期値:500 |
| video | スライドに動画が含まれている場合は、これをtrueに設定 false(初期値) true ※jquery.fitvids.js必須 |
| responsive | レスポンシブ対応 true(初期値) false |
| useCSS | css3のtransitionアニメーションを使用。falseの場合、jQuery animate()を使用 true(初期値) false |
| preloadImages | 画像の読み込みタイミングを指定 ‘visible’(初期値) 最初に表示される画像のみ ‘all’ 開始前にすべて |
| touchEnabled | タッチスワイプの有効or無効 true(初期値) false |
| swipeThreshold | タッチスワイプ判定のための距離を指定 touchEnabled:trueの場合にのみ有効 整数を指定 初期値:50 |
| oneToOneTouch | スワイプ動作に要素が連動するようなスライドをさせる true(初期値) false |
| preventDefaultSwipeX | タッチスクリーンで、指がスワイプしてもx軸に沿って移動しない true(初期値) false |
| preventDefaultSwipeY | タッチスクリーンで、指がスワイプしてもy軸に沿って移動しない true(初期値) false |
| wrapperClass | スライダを包有するclass名を指定 初期値:’bx-wrapper’ |
ページ送り
| pager | ページ送りを有効or無効 true(初期値) false |
|---|---|
| pagerType | ページ送りのスタイル ‘full’(初期値) 各スライドに対してページ送りのリンクを生成 ‘short’ x/yの形式でページ送りのリンクを生成。例:1/4 |
| pagerShortSeparator | pagerType:’short’の場合、ページ送りの分離文字として使用 初期値:’/’ |
| pagerSelector | 指定した位置にページ送りを設置可能 jQueryセレクタで指定 |
| pagerCustom | ページ送りに使用する親要素を指定。各スライドの要素が含まれる。 初期値:null |
| buildPager | ページ送りの各中身を設定。サムネイルとかに利用できる。 初期値:null |
コントロール(右とか左とかに出るアイコンみたいなやつ)
| controls | 「次へ」「前へ」のコントロールを表示or非表示 true(初期値) false |
|---|---|
| nextText | 「次へ」コントロールに使用するテキストを指定 文字列で指定 初期値:’Next’ |
| prevText | 「前へ」コントロールに使用されるテキストを指定 文字列で指定 初期値:’Prev’ |
| nextSelector | 「次へ」コントロールを設定する要素をjQueryセレクタで指定 初期値:null |
| prevSelector | 「前へ」コントロールを設定する要素をjQueryセレクタで指定 初期値:null |
| autoControls | 「再生」「停止」コントロールを表示or非表示 false(初期値) true |
| startText | 「再生」コントロールに使用されるテキストを指定 文字列で指定 初期値:’Start’ |
| stopText | 「停止」コントロールに使用されるテキストを指定 文字列で指定 初期値:’Stop’ |
| autoControlsCombine | 自動スライド時に「停止」した際のコントロールボタンの表示or非表示 false(初期値) true |
| autoControlsSelector | 自動スライドのコントロールをjQueryセレクタで指定 初期値:null |
オートモード
| auto | スライドをオートモードに設定 false(初期値) true |
|---|---|
| stopAutoOnClick | 自動スライド中にコントロールをクリックすると自動スライドを停止させる false(初期値) true |
| pause | 各自動スライドの待ち時間設定(ミリ秒) 整数を指定 初期値:4000 |
| autoStart | スライドを自動的に始めるか否か true(初期値) false |
| autoDirection | 自動スライドの方向を指定 ‘next’(初期値) ‘prev’ |
| autoHover | マウスオーバーすると自動スライドが一時停止するかどうか false(初期値) true |
| autoDelay | 自動スライドを開始するまでの時間(ミリ秒) 整数を指定 初期値:0 |
カルーセルモード
| minSlides | 表示されるスライドの最小数を指定 整数を指定 初期値:1 |
|---|---|
| maxSlides | 表示されるスライドの最大数を指定 整数を指定 初期値:1 |
| moveSlides | カルーセル表示のときに移動するスライド数の設定 整数を指定 初期値:0 |
| slideWidth | 各スライドの幅 整数を指定 初期値:0 |
| shrinkItems | minSlidesやmaxSlidesに基づいてビューポートに合わせて画像を縮小するかどうか false(初期値) true |
キーボード
| keyboardEnabled | 表示されているスライダーをキーボードでコントロールするかどうか false(初期値) true |
|---|
アクセシビリティ
| ariaLive | スライダーにaria-live属性を追加するかどうか true(初期値) false |
|---|---|
| ariaHidden | 表示されていないスライダーにaria-hidden属性を追加するかどうか true(初期値) false |
コールバック
| onSliderLoad | スライダーが読み込まれた直後に実行 |
|---|---|
| onSliderResize | スライダーがリサイズされた直後に実行 |
| onSlideBefore | スライドする直前に実行 |
| onSlideAfter | スライドした直後に実行 |
| onSlideNext | 「次へ」が実行される直前に実行 |
| onSlidePrev | 「前へ」が実行される直前に実行 |
パブリックメソッド
| goToSlide | 指定された要素へスライドする |
|---|---|
| goToNextSlide | 「次へ」を実行 |
| goToPrevSlide | 「前へ」を実行 |
| startAuto | 自動スライドの開示 |
| stopAuto | 自動スライドの停止 |
| getCurrentSlide | 現在表示中のスライドを返す |
| getSlideCount | スライダー内のスライド総数を返す |
| redrawSlider | スライダーを再表示 |
| reloadSlider | スライダーをリロード |
| destroySlider | スライダーを初期状態に戻す |
まとめ
正直なところ、メソッドとかその辺はもうまったくわかりません。
オプションがあるということで全部調べてみたんですが・・・
JavaScriptはまだまだ勉強中の身なもんで_(:3 」∠)_
これが読めるくらいにはスキルアップしておきたいところ。
最終的にはJavaScript書けるところを目指しますけどねっ(`・ω・´)
以上、ともさんでしたー。






















この記事へのコメントはありません。