前回はjQueryの画像スライダーライブラリ「slick.js」の導入方法についてご紹介しましたが、今回はその応用編として各種オプションの使い方について目的や用途別にまとめました。
WEB制作の現場でも頻繁に使うオプションや使い方の例なども解説していきます!
目次
基本形
HTML
<!-- クラス名は任意 -->
<ul class="slick-slider">
<li><img src="画像1"></li>
<li><img src="画像2"></li>
<li><img src="画像3"></li>
<li><img src="画像4"></li>
<li><img src="画像5"></li>
</ul>
Javascript
$('.slick-slider').slick({
/* ここにオプションを追加していきます! */
});
スライダーの見た目を変える
「前へ」「次へ」の矢印
| オプション名 | 初期値 | 説明 |
|---|---|---|
| accessibility | true | タブキー、矢印キーでの操作をON / OFF |
| arrows | true | 「前へ」「次へ」の矢印をON / OFF |
| appendArrows | $(element) | 前へ、次への矢印の表示する場所を変更する (ID、クラス名などで指定) |
| prevArrow | <button type=”button” class=”slick-prev”>Previous</button> | 「前へ」の矢印のHTMLをカスタマイズ |
| nextArrow | <button type=”button” class=”slick-next”>Next</button> | 「次へ」の矢印のHTMLをカスタマイズ |
よく使うオプション例文
/* 矢印をオフにする */
$('.slick-slider').slick({
arrows: false,
});
/* 矢印に任意のクラスや要素を追加する */
$('.slick-slider').slick({
prevArrow: '<button type="button" class="prev-button"><img src="画像URL"></button>',
nextArrow: '<button type="button" class="next-button"><img src="画像URL"></button>',
});
ナビゲーション用ドット
| オプション名 | 初期値 | 説明 |
|---|---|---|
| appendDots | $(element) | ナビゲーション用ドットの表示する場所を変更する |
| dots | false | ナビゲーション用ドットをON / OFF |
| dotsClass | ‘slick-dots’ | ナビゲーション用ドットのコンテナのクラス名を指名 |
| customPaging | n/a | ナビゲーション用ドットをカスタマイズ |
よく使うオプション例文
/* ナビゲーション用ドットをオンにする */
$('.slick-slider').slick({
dots: true
});
customPagingの使い方
See the Pen
Untitled by piconotes (@rwvwzrdg-the-flexboxer)
on CodePen.
スライドの表示設定
| オプション名 | 初期値 | 説明 |
|---|---|---|
| adaptiveHeight | false | 水平スライダーの高さを可変にする / しない |
| centerMode | false | 前後のスライドを部分的に表示し、中央揃え表示を有効にする/しない |
| centerPadding | ’50px’ | centerModeが有効な場合の、左右の見切れる幅 ( px / % で指定) |
| infinite | true | スライドの無限ループをON / OFF |
| initialSlide | 0 | 初期表示するスライドを数値で指定(0が1番目) |
| rows | 1 | 1以上を指定するとグリッドモードに切り替わる slidesPerRowと併用して各行ごとのスライド数を指定 |
| slide | ” | スライドとして使用する要素を指定 |
| slidesPerRow | 1 | rowsと併用して使用し各行のスライド数を設定 |
| slidesToScroll | 1 | スライド動作をした際にスクロールされるスライド数を指定 |
| slidesToShow | 1 | 一度に表示するスライド数を指定 |
| variableWidth | false | スライド幅の自動計算を無効にする / しない |
よく使うオプション例文
/* 前後のスライドを100px見切れて表示させる */
$('.slick-slider').slick({
centerMode: true,
centerPadding: '100px'
});
/*.スライドを3枚表示させ、1クリックで3枚スライドさせる */
$('.slick-slide').slick({
slidesToShow: 3,
slidesToScroll: 3
});
variableWidthの使い方
ブラウザウィンドウの幅を変化させた時、「スライドの幅を固定して左右に見切れるスライドの数を変化させたい」場合に使用するのがvariableWidthです。
See the Pen
slick – variableWidth by piconotes (@rwvwzrdg-the-flexboxer)
on CodePen.
スライドの動きを変える
オートプレイ設定
| オプション名 | 初期値 | 説明 |
|---|---|---|
| autoplay | false | 自動スライドをON / OFF |
| autoplaySpeed | 3000 | autoplayが有効な場合のスライドするスピード (単位はミリ秒) |
| pauseOnDotsHover | false | ナビゲーション用ドットにホバー中、自動再生を一時停止 |
| pauseOnFocus | true | スライダーをフォーカス中、自動再生を一時停止 |
| pauseOnHover | true | スライダーにホバー中、自動再生を一時停止 |
よく使うオプション例文
/* 自動再生をONにし、5000ミリ秒でスライド(デフォルトより少し遅くする) */
$('.slick-slider').slick({
autoplay: true,
autoplaySpeed: 5000
});
スライドアニメーション
| オプション名 | 初期値 | 説明 |
|---|---|---|
| cssEase | ‘ease’ | CSS3のアニメーションイージング設定 linear(等速)、ease-in(徐々に加速)、ease-out(徐々に減速)、ease-in-out(加速して減速)など |
| easing | ‘lenear’ | jQuery animateにイージングを追加 linear(等速)、swingなど |
| edgeFriction | 0.15 | 無限ではないカルーセルの端をスワイプした時の抵抗の大きさ |
| fade | false | スライド切り替えをフェードに変更 |
| speed | 300 | スライドやフェードの切り替え速度を指定 (単位はミリ秒) |
| vertical | false | スライド切り替えを縦方向に変更 |
| rtl | false | スライドの表示方向を「右から左」へ変更 ※スライダーのコンテナに dir=”rtl” 属性を記載する必要があります |
| waitForAnimate | true | アニメーションの最中にスライドを移動させるリクエストを受け付ける / 無視する |
よく使うオプション例文
/* スライド切り替えをフェードに変更し、切り替えスピードをデフォルトより遅くする(500ミリ秒) */
$('.slick-slide').slick({
fade: true,
speed: 500
});
操作
| オプション名 | 初期値 | 説明 |
|---|---|---|
| draggable | true | マウスドラッグをON / OFF |
| focusOnSelect | false | クリックで選択したスライドへ移動 (クリックしたスライドは左端へ移動) |
| swipe | true | スワイプ動作によるスライドを有効にする / しない |
| swipeToSlide | false | slidesToScrollで指定したスライド数を無視し、スワイプ操作に応じてスライドさせる / させない |
| touchMove | true | タッチ操作でのスライドを有効にする / しない ※無効化すると、スライド時は動かないがマウス・指を離した瞬間に移動する |
| touchThreshold | 5 | スワイプでスライドを移動させるために必要な距離を指定 「(1/touchThreshold)*スライド幅」をスワイプするとスライドが切り替わる デフォルトだと、スライド幅の1/5スワイプすると切り替わることになる |
| verticalSwiping | false | スワイプ方向を縦にする (vertical:trueであることが好ましい) |
レスポンシブ・モバイル対応
| オプション名 | 初期値 | 説明 |
|---|---|---|
| responsive | none | ブレイクポイントに応じて設定を変更 |
基本の書き方
$('.slick-slider').slick({
/* 通常オプション(共通設定など) */
/* レスポンシブ設定 */
responsive: [
// 1100px以下
{
breakpoint: 1100,
settings: {
/* 1000px以下の設定 */
}
},
// 798px以下
{
breakpoint: 798,
settings: {
/* 798px以下の設定 */
}
},
// 300px以下
{
breakpoint: 300,
settings: {
/* 300px以下の設定 */
}
},
]
});
よく使うオプション例文
/* PCではスライド3枚表示、タブレット・スマホでは1枚表示 */
$('.slick-slider').slick({
slidesToShow: 3,
responsive: [
{
breakpoint: 798,
settings: {
slidesToShow: 1,
}
}
]
});
画像読み込み遅延
| オプション名 | 初期値 | 説明 |
|---|---|---|
| lazyLoad | ‘ondemand’ | 画像の遅延読み込み方法を指定 ・’ondemand’:スライド時に画像を読み込む ・’progressive’:ページ読み込み完了後に画像を読み込む |
スライダーの連携
| オプション名 | 初期値 | 説明 |
|---|---|---|
| asNavFor | null | 別のスライダーのクラス名を指定して同期させる |
asNavForの使い方
メインスライダー、ナビ用スライダーを連携させ、サムネイル付きスライダーとして使われるのが一般的です。
See the Pen
slick – asNavFor by piconotes (@rwvwzrdg-the-flexboxer)
on CodePen.
全オプションはこちら
公式サイト
日本語翻訳していただいているサイト
大変助かっております…!