Slick.js徹底解説 [オプション編]

turned on gray laptop computer
Share

Slick.jsは、WEBサイトで使われるスライダーを実装するためのJavaScriptライブラリです。
多様なオプション設定やプラグインの利用が可能であり、またタッチ操作にも対応していることが特徴的です。使いやすく軽量なため、ウェブサイトやアプリケーションの開発に幅広く利用されています。

ここではSlick.jsの数多くあるオプションをひとつひとつ解説していきます。

オプションの一覧

accessibility

boolean
デフォルトtrue
説明キーボード操作やスクリーンリーダーなどのアクセシビリティを向上させるためのオプションです。trueにするとキーボードの矢印でスライダーを操作できたりと、より多くの人に使いやすくすることができます。

adaptiveHeight

boolean
デフォルトfalse
説明スライダー内の各スライドの高さを自動的に調整するためのオプションです。スライダー内のすべてのスライドの高さが異なる場合、スライドの高さを自動的に調整して、スライドがバウンスしないようにすることができます。

autoplay

boolean
デフォルトfalse
説明スライドを自動的に再生するかどうかを制御します。このオプションが有効になっている場合、スライダーが自動的に切り替わります。autoplaySpeedオプションでスライドの速度を設定できます。

autoplaySpeed

number
デフォルト3000
説明autoplayオプションでスライドを再生する速度を制御します。値はミリ秒単位で指定します。

arrows

boolean
デフォルトtrue
説明前/次(< >)の矢印の表示を制御します。

asNavFor

selector
デフォルトnull
説明複数のスライダーを同期させるためのオプションです。他のスライダーのセレクタを指定することで、2つ以上のスライダーのスライドを同期できます。

appendArrows

string
デフォルト$(element)
説明矢印ナビゲーションを表示する位置を変更できます。
appendArrows: '.slider-nav',とすると、.slider-nav内に矢印ナビゲーションが生成されます。

prevArrow,nextArrow

HTMLテンプレート or jQueryオブジェクト形式
デフォルト$(element)
説明矢印アイコンを独自のスタイルにカスタマイズできます。2通りの記述方法があります。

HTMLタグを直接記述する方法
記述したタグが生成され、戻るアイコンになる。
例:prevArrow: '<button class="prev">Previous</button>'

●jQueryオブジェクトを記述する方法
HTMLタグを自前で用意した後に、jQueryオブジェクトで指定してボタン化できる。
例:prevArrow: $('.slider-nav .prev')

appendDots

string
デフォルト$(element)
説明ドットを表示する位置を変更できます。
appendDots: '.slider-nav'とすると、.slider-nav内にドットが生成されます。

centerMode

boolean
デフォルトfalse
説明スライドを中央に配置するかどうかを制御します。前後の画像をチラ見せすることができます。

centerPadding

string
デフォルト’50px’
説明centerModeが有効な場合に、左右の余白を調整するためのオプションです。

cssEase

string
デフォルトease
説明スライドの移動に使用するCSSトランジションの種類を指定できます。

linear: 一定速度でアニメーションします。
※autoplaySpeed: 0,と組み合わせれば、流れ続けるループスライダーも実現できます。
ease: 徐々に速度を上げて、最高速度で移動し、最後に徐々に減速します。デフォルトのタイミング関数です。
ease-in: 初めはゆっくり移動し、最後に速度を上げます。
ease-out: 初めは速く移動し、最後に徐々に減速します。
ease-in-out: 初めはゆっくり移動し、最高速度で移動し、最後に徐々に減速します。
cubic-bezier(n,n,n,n): カスタムタイミング関数を作成することができます。nは0から1の値を設定します。

スライド時に白くちらつく現象が起こるケースについて

おそらくcssEaseが原因(?)かと思われますが、以下のCSSを記述することで解決する場合があります。

.slick-slide {
  -webkit-transform-style: preserve-3d;
}

-webkit-backface-visibility: hidden; で直るという記事が多いですが、効果がない場合は上記コードで。

customPaging

function
デフォルトn/a
説明ドットナビゲーションのマークアップを自由に構成することができます。例えば、ページ番号(数字)、画像、テキストにすることも可能です。
customPagingは、他のオプションと違いコールバック関数を指定します。

ドットを画像にした例
asNavForでもサムネイルを実現できますが、dotsをカスタマイズする方がより柔軟にカスタマイズできそうです。

dots

boolean
デフォルトfalse
説明ページャーのドットの表示を制御します。このオプションが有効になっている場合、各スライドに対応するドットが表示されます。

dotsClass

string
デフォルトslick-dots
説明ドットナビゲーションのクラス名を変更することができます。デフォルトは’slick-dots’

draggable

boolean
デフォルトtrue
説明マウスまたはタッチ操作でスライドをドラッグできるかどうかを制御します。

fade

boolean
デフォルトfalse
説明フェードイン/フェードアウト効果を有効にするかどうかを制御します。このオプションが有効になっている場合、スライドがフェードイン/フェードアウトされます。

focusOnSelect

boolean
デフォルトfalse
説明フォーカスを切り替えるためのオプションです。このオプションが有効になっている場合、スライドをクリックすると、そのスライドがフォーカス(真ん中にくる)されます。

initialSlide

number
デフォルト0
説明最初に表示するスライドのインデックスを設定します。

lazyLoad

string
デフォルト‘ondemand’
説明画像の遅延読み込みを有効にするかどうかを制御します。
※lazyloadを使用する場合は、画像のsrc属性を設定するのではなく、data-lazy属性を使用する必要があります。

‘ondemand’
次のスライドの画像が表示される瞬間に、そのスライドに対応する画像を読み込む。かなり直前に読み込むため白くちらつく事があるが、一番負荷が少ない。
‘progressive’
最初の画像は通常通り読み込まれ、2番目のスライドが表示される前に画像(2番目)が読み込まれる。
‘anticipated’
最初の画像は通常通り読み込まれ、最初のスライドが表示されている間に、2番目のスライドに対応する画像とともに一度に読み込まる。

progressiveとanticipatedが似ていますが、anticipatedの方がより早いタイミングで次の画像を準備するため、負荷は高いがよりスムーズに表示できるということでしょうか。

pauseOnFocus

boolean
デフォルトtrue
説明スライドがフォーカスされたときに自動再生を停止するかどうかを制御します。

pauseOnHover

boolean
デフォルトtrue
説明マウスがスライダー上にあるときに自動再生を停止するかどうかを制御します。

pauseOnDotsHover

boolean
デフォルトfase
説明ドットの上にマウスがあるときに自動再生を停止するかどうかを制御します。

responsive

array
デフォルトnull
説明レスポンシブデザインをサポートするためのオプションです。複数のブレイクポイントでスライダーの表示を調整できます。
‘responsive’オプションは、’breakpoint’と’settings’という2つのプロパティから構成されます。’breakpoint’は、スライドの表示幅がこの値以下になった場合、その設定が適用され、’settings’にはオプションを設定します。

respondTo

string
デフォルトwindow
説明'responvsive'オプション設定時に、’breakpoint’が反応する幅の基準を以下の3つから設定できます。
window
ウィンドウ幅を基準にbreakpointが反応する。
slider
スライダーの幅を基準にbreakpointが反応する。
min

windowとsliderのどちらか小さい方に対してbreakpointが反応する。

rows

number
デフォルト1
説明スライダーを表示する行数を設定します。このオプションを2に指定した場合、グリッド化されスライダーが2段になります。

slidesPerRow

number
デフォルト1
説明‘rows’で2以上に設定した場合、スライド数を設定できます。

rtl

boolean
デフォルトfase
説明スライダーを右から左に表示するかどうかを制御します。

speed

number
デフォルト300
説明スライドのアニメーション速度を設定します。

slide

selector
デフォルト
説明特定のスライドを選択するためのオプションです。

slidesToShow

number
デフォルト1
説明表示するスライドの数を設定します。

slidesToScroll

number
デフォルト1
説明スクロールするスライドの数を設定します。

swipe

boolean
デフォルトtrue
説明スワイプ操作でスライドを移動できるかどうかを制御します。

swipeToSlide

boolean
デフォルトfalse
説明スライドをスクロールする数(slidesToScroll)に関係なく、ユーザーがスライドを直接ドラッグまたはスワイプできるようにします。

touchMove

boolean
デフォルトtrue
説明タッチ操作でスライドを移動できるかどうかを制御します。

touchThreshold

number
デフォルト5
説明スワイプまたはタッチ操作と認識される移動距離の閾値を設定します。このオプションが小さいほど、操作が敏感になります。

useCSS

boolean
デフォルトtrue
説明CSSトランジションを使用するかどうかを制御します。falseにするとjsアニメーションにjsアニメーションに切り替わります。※動きがガタガタします。CSSトランジション未対応の古いブラウザ向けです。

useTransform

boolean
デフォルトtrue
説明CSS transformを使用するかどうかを制御します。

variableWidth

boolean
デフォルトfalse
説明スライドの幅が異なる場合に使用するオプションです。このオプションが有効になっている場合、各スライドの幅を自動調整します。

vertical

boolean
デフォルトfalse
説明スライダーを縦方向に表示するかどうかを制御します。

verticalSwiping

boolean
デフォルトfalse
説明縦方向のスワイプ操作を有効にするかどうかを制御します。verticalオプションが有効な場合に使用します。

waitForAnimate

boolean
デフォルトtrue
説明アニメーションが完了するまで、次のスライドに移動できなくするかどうかを制御します。falseにすると遷移アニメーション中でもスライドを移動できます。

zIndex

number
デフォルト1000
説明スライダーのz-indexを設定します。

まとめ

あらためてオプションを調べていると、知らなかったものもいくつか出てきて勉強になりました。
次回、イベントやメソッドも解説していきたいと思います。

Share