Option
オプション
オプションの変更方法
Splideはスライダーをカスタマイズするために、様々なオプションをとります。 これらは、次のような3つの方法を用いて変更できます。
JavaScriptでの変更
Splideのコンストラクタは、第2引数にオプションをとります。
new
Splide
(
'.splide'
,
{
type
:
'loop'
,
perPage
:
3
,
}
)
;
JavaScript
new Splide( '.splide', { type : 'loop', perPage: 3, } );
データ属性による変更
data-splide
属性を用いて、HTML側からオプションを指定できます。
このとき、属性の値にはJSONフォーマットを用います。
<
div
class
=
"splide"
data-splide
=
'{"type":"loop","perPage":3}'
>
<
/
div
>
HTML
<div class="splide" data-splide='{"type":"loop","perPage":3}'> </div>
JSON内でダブルクォートを使用するため、上の例では、シングルクォートで属性の値を囲っています。
"
によりJSONの値をエスケープすれば、属性にダブルクォートを用いることもできます。
コンストラクタ、データ属性両方でオプションが指定された場合、後者が前者を上書きますので注意してください。
静的プロパティによる変更(上級者向け)
複数のスライダーを作成する場合、共通のオプションを一括して設定したい場合がでてくるかもしれません。
このような場合、Splide.defaults
を用いて、デフォルトの値を設定できます。
Splide
.
defaults
=
{
type
:
'loop'
,
perPage
:
2
,
}
JavaScript
Splide.defaults = { type : 'loop', perPage: 2, }
この値はすべてのインスタンスから参照され、コンストラクタおよびデータ属性を用いて部分的に上書きできます。
オプション
オプションには、読み取り専用のオプションと、動的に変更可能なレスポンシブオプションの2種類が存在します。
レスポンシブオプションはbreakpointsを用いて更新したり、
あるいはSplide#options
にオブジェクトを渡すことで、直接変更したりできます。
逆に、読み取り専用のオプションは変更しないでください。
これらは内部的にディスクリプタなどで保護されておらず、一見うまく更新できるように見える場合もありますが、
その動作は保証されたものではありません。
Splideが受け付けるオプションは次のリストの通りです。マークのついたものがレスポンシブオプションです。
type | スライダーのタイプ | |
---|---|---|
role | ルート要素の | |
label | ルート要素の | |
labelledby | ルート要素の | |
rewind | スライダーの終わりまで行ったときに、先頭に巻き戻せるかどうかを決定 | |
speed | スライダーの移動時間をミリ秒単位で指定 | |
rewindSpeed | 巻き戻す際の移動時間をミリ秒単位で指定 | |
rewindByDrag | ドラッグやスワイプでもスライダーを巻き戻すかどうかを決定 | |
width | スライダーの最大幅を設定。 | |
height | スライダーの高さを設定。 | |
fixedWidth | スライドの幅を固定。 | |
fixedHeight | スライドの高さを固定。 | |
heightRatio | スライドの高さを、幅に対する割合で指定 | |
autoWidth | 有効にすると、それぞれのスライドの幅をそのまま使用 | |
autoHeight | 有効にすると、それぞれのスライドの高さをそのまま使用 | |
start | 最初にアクティブになるスライドのインデックスを指定 | |
perPage | 1ペ ージに何枚のスライドを表示するかを指定 | |
perMove | 1度の移動で、何枚のスライドを移動するかを指定 | |
clones | 明示的にクローンスライドの枚数を指定 | |
cloneStatus |
| |
focus | 複数スライドがある場合、どのスライドをアクティブにするかを指定 | |
gap | スライド間の余白を指定。CSSの相対単位を指定することも可能。 | |
padding | スライダーの左右、あるいは上下の余白を指定。CSSの相対単位を指定することも可能 | |
arrows | 矢印ボタンを表示するかどうかを決定 | |
pagination | ページネーションを表示するかどうかを決定 | |
paginationKeyboard | ページネーション専用のキーボードショートカットを有効にするかどうかを決定 | |
paginationDirection | 明示的にページネーションの方向を指定 | |
easing | CSSトランジションに使用するタイミング関数を指定 | |
easingFunc | フリードラッグモードなどで使用する補間関数を指定 | |
drag | ドラッグによりスライダーを動かせるかどうかを決定 | |
snap | フリードラッグモードでも、近くのスライドにスナップするかどうかを決定 | |
noDrag | セレクタにより、ドラッグできない要素を指定 | |
dragMinThreshold | ドラッグとみなされる最小移動距離を指定 | |
flickPower | フリックした際どのくらいの距離を移動するか決定するためのパラメータ | |
flickMaxPages | フリックにより移動できる最大ページ数を指定 | |
waitForTransition | スライダーが移動中にも操作を受け付けるかどうかを決定 | |
arrowPath | 矢印に使われるSVGのパス。例えば、 | |
autoplay | 自動再生を有効にするかどうかを決定 | |
interval | 自動再生の間隔をミリ秒単位で指定 | |
pauseOnHover | マウスオーバーしたときに自動再生を停止するかどうかを決定 | |
pauseOnFocus | スライダー内にフォーカスされたエレメントがある場合、自動再生を停止するかどうかを決定 | |
resetProgress | 自動再生が中断されたのち再開する際、それまでの経過時間を維持するか破棄するかを決定 | |
lazyLoad | 遅延読み込みを有効化するかどうかを決定 | |
preloadPages | 遅延読み込みの際、事前に何ページ分読み込むかを指定 | |
keyboard | キーボード操作を有効にするかどうかを決定 | |
wheel | マウスホイールによるスライダーの移動を有効にするかどうかを決定 | |
wheelMinThreshold | 慣性スクロールなどによる微小な移動量を無視するための閾値 | |
wheelSleep | 次のホイールインプットを受け付けるまでのスリープ時間をミリ秒で指定 | |
releaseWheel | 最初、あるいは最後のスライドに到達したとき、ホイールをページスクロールのために解放するかどうかを決定 | |
direction | スライダーの方向を指定 | |
cover | 画像の | |
slideFocus | 見えているスライドに対して | |
focusableNodes | スライドの中にあるフォーカス可能な要素を取得するためのセレクタ | |
isNavigation | ほかのスライダーのナビゲーションとして、それぞれのスライドをクリック可能にするかどうかを決定 | |
trimSpace |
| |
omitEnd | スライダーが最後のページに到達した際矢印を無効化し、ページネーションのボタンを最低限にするかどうかを決定(^4.1.0) | |
updateOnMove |
| |
mediaQuery | ブレークポイントに | |
live | ライブリ ージョンを有効にするかどうかを決定 | |
breakpoints | 各ブレークポイントにおけるオプションの集合 | |
reducedMotion |
| |
classes | クラス名を追加するためのオブジェクト | |
i18n | ローカライズ用のテキストを変更するためのオブジェクト | |
destroy | スライダーを破棄するかどうかを決定 |
type
type: string = 'slide'
スライダーの種類を指定します。フェードタイプのスライダーをループさせるには、rewind
オプションを有効にしてください。
'slide' | 一般的なスライドアニメーションによるスライダー |
---|---|
'loop' | ループ(カルーセル)スライダー |
'fade' | 各スライドをフェードにより切り替える。このオプションは |
role
role: string = 'region'
ルート要素に持たせるrole
を指定します。値はランドマークロールまたはgroup
である必要があります。デフォルト値の'region'
を無効にする、すなわちルート要素にrole
が割り当てられないようにするには、空のstring
か、あるいはundefined
を設定します。
もしルート要素に<section>
が使用されている場合、アクセシブルな名前を持った<section>
は暗黙的にregion
ロールが割り当てられるため、このオプションは使用されません。詳しくはこちらを参照してください。
暗黙的なランドマークロールを持つ可能性のあるタグ(たとえば <header>
や<nav>
)をルート要素に使用する場合、role
にregion
を設定するとアクセシビリティツリーが壊れるかもしれません。そのような場合は、必ず明示的にrole
オプションを指定してください。
label
label: string
ルート要素に持たせるaria-label
を指定します。このオプションは、HTMLで設定した値を上書きます。
destroy
後にラベルの値が不適切になる場合(たとえば、スライダーという言葉が入っているなどの場合)は、breakpoints
を用いて適切なものに更新してください。
{
label
:
'スライダー'
,
// HTMLで設定している場合は不要
breakpoints
:
{
640
:
{
destroy
:
true
,
label
:
'ギャラリー'
,
// destroyされた後に使用されるラベル
}
}
}
JavaScript
{ label: 'スライダー', // HTMLで設定している場合は不要 breakpoints: { 640: { destroy: true, label : 'ギャラリー', // destroyされた後に使用されるラベル } } }
もしスライダーのラベルとして適切な見出しが目に見える形で存在する場合は、aria-label
ではなくaria-labelledby
を用いて両者の関連付けを行ってください。
W3Cはラベルにスライダー(カルーセル)という言葉を含めないよう推奨しています。これは、aria-roledescription
にすでにcarousel
が設定されているためです。スクリーンリーダのいくつかは「ラベル+説明(description)」とアナウンスしてくれますが、仕様によるとこのふるまいは必須ではありません。実際、aria-roledescription
の値を無視するスクリーンリーダも存在します。
個人的には、スライダーという言葉を含めても当面の間は問題ないと思います。含めることにより生じる問題は、単に同じような言葉を2回発声してしまうだけですので、大したものではありません(むしろスライダーであると 告げないほうが不親切な気がします)。
labelledby
labelledby: string
ルート要素に持たせるaria-labelledby
を指定します。このオプションは、HTMLで指定した値を上書きます。
rewind
rewind: boolean = false
スライダーの終わりまで行ったときに、先頭に巻き戻せるかどうかを決定します。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
speed
speed: number = 400
スライダーの移動時間をミリ秒単位で指定します。0を指定すると、アニメーションなしで直接対象に遷移します。
rewindSpeed
rewindSpeed: number
巻き戻す際の移動時間をミリ秒単位で指定します。指定しなかった場合は、speed
の値が使用されます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
rewindByDrag
rewindByDrag: boolean
ドラッグまたはスワイプ操作でもスライダーを巻き戻せるかどうかを決定します。rewind
オプションを有効にしないと動作しません。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
width
width: number | string
スライダーの最大幅を設定します。数字を指定した場合はピクセルとして扱われ、rem
や%
などの相対単位も文字列として受け付けます。例えば、以下の例ではスライダーの幅を80%
に指定しています。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
height
height: number | string
スライダーの高さを設定します。数字を指定した場合はピクセルとして扱われ、%
を除くrem
などの相対単位も文字列として受け付けます。
fixedWidth
fixedWidth: number | string
各スライドの幅を固定します。CSSの相対単位も利用できます。この値を設定した場合、perPage
オプションは無視されます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
fixedHeight
fixedHeight: number | string
各スライドの幅を固定します。%
を除くCSSの相対単位も利用できます。この値を設定した場合、perPage
、height
およびheightRatio
オプションは無視されます。
heightRatio
heightRatio: number
スライドの高さを、スライダーの幅に対する割合で指定します。例えば、スライドの幅が1000pxで割合に0.3
を指定した場合、高さは300pxになります。ただし、height
やfixedHeight
が与えられた場合、このオプションは無視されることに注意してください。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
autoWidth
autoWidth: boolean = false
有効にすると、それぞれのスライドの幅がそのまま使用されます。このオプションを使用する場合は、perPage
とperMove
オプションを与えないか、あるいは1
である必要があります。詳しくはこのページを参照してください。
lazyLoad
オプションと一緒に使用する場合は、各スライドが明示的なwidth
の値を持っている必要があります。
autoHeight
autoHeight: boolean = false
有効にすると、それぞれのスライドの高さがそのまま使用されます。このオプションを使用する場合は、perPage
とperMove
オプションを与えないか、あるいは1
である必要があります。詳しくはこのページを参照してください。
lazyLoad
オプションと一緒に使用する場合は、各スライドが明示的なheight
の値を持っている必要があります。
start
start: number = 0
最初にアクティブになるスライドのインデックスを指定します。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
perPage
perPage: number = 1
1ページに何枚のスライドを表示するかを指定します。正の整数で指定し、小数の値は指定しないでください。
perMove
perMove: number
1度の移動で、何枚のスライドを移動するかを指定します。正の整数で指定し、小数の値は指定しないでください。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
clones
clones: number
ループスライダーを構築する際に生成される、クローンの数を明示的に指定します。
このオプションがスライダーに対してどのような影響を与えるかよくわからない場合は、値を指定しないでください。
cloneStatus
cloneStatus: boolean = true
is-active
クラスをクローンにも追加するかどうかを決定します。
focus
focus: number | 'center'
複数スライドがある場合、どのスライドをアクティブにするかを指定します。左右に出現する余白は以下のように取り除かれます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
trimSpace
オプションを変更すれば、余白を表示できます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
gap
gap: number | string
スライド間の余白を指定します。1em
などのCSSの相対単位も利用できます。
padding
padding: number | string | { left?: number | string, right?: number | string } | { top?: number | string, bottom?: number | string }
水平スライダーの左右、あるいは垂直スライダーの上下の余白(Padding)を指定します。単一の値を指定すると、左右または上下に対して同じ値が適用されますが、オブジェクトを与えるとそれぞれ別の値を指定できます。1em
などのCSSの相対単位も利用できます。
// 数値で指定(px)
padding
:
10
// CSSフォーマットで指定
padding
:
'1rem'
// それぞれ個別に指定(水平スライダー)
padding
:
{
left
:
10
,
right
:
20
}
padding
:
{
left
:
'1rem'
,
right
:
'2rem'
}
// それぞれ個別に指定(垂直スライダー)
padding
:
{
top
:
10
,
bottom
:
20
}
JavaScript
// 数値で指定(px) padding: 10 // CSSフォーマットで指定 padding: '1rem' // それぞれ個別に指定(水平スライダー) padding: { left: 10, right: 20 } padding: { left: '1rem', right: '2rem' } // それぞれ個別に指定(垂直スライダー) padding: { top: 10, bottom: 20 }
例えばこの値を20%
にすると、以下のような結果になります。
- 08
- 09
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 01
- 02
arrows
arrows: boolean = true
矢印ボタンを表示するかどうかを決定します。矢印は、トラック要素の直前に挿入されます。HTMLから独自の矢印を作成する場合でも、この値はtrue
である必要があります。
pagination
pagination: boolean = true
ページネーションを表示するかどうかを決定します。ページネーションはトラック要素の親要素に挿入(append)されますので、たいていの場合はトラックの直後に配置されます。
paginationKeyboard
paginationKeyboard: boolean = true
ページネーションがフォーカスを持っている場合、専用のキーボードショートカットを有効にするかどうかを決定します。W3C Carousel Design Patternの要件を満たすには、有効にしておく必要のあるオプションです。
paginationDirection
paginationDirection: 'ltr' | 'rtl' | 'ttb'
明示的にページネーションの方向を指定します。これは単に見た目を変えるだけでなく、ページネーションのためのキーボードショートカットや、ARIA属性にも影響します。初期値はスライダーのdirection
がそのまま使用されます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
easing
easing: string = cubic-bezier(0.25, 1, 0.5, 1)
linear
, ease
、cubic-bezier()
など、CSSトランジションに使用するタイミング関数を指定します。
easingFunc
easingFunc: ( t: number ) => number = t => 1 - Math.pow( 1 - t, 4 )
フリードラッグモードなどで使用する補間関数を指定します。
drag
drag: boolean | 'free' = true
ドラッグによりスライダーを動かせるかどうかを決定します。
true | ドラッグを有効にする |
---|---|
false | ドラッグを無効にする |
'free' | フリードラッグモードを有効にする |
フリードラッグモードのスライダーは次のように動作します。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
snap
snap: boolean = false
ドラッグがfree
の場合でも、最も近いスライドにスナップするようになります。
- 04
- 05
- 06
- 07
- 08
- 09
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 01
- 02
- 03
- 04
- 05
- 06
noDrag
noDrag: string
セレクタにより、ドラッグできない要素を指定します。
{
noDrag
:
'input, textarea, .no-drag'
,
}
JavaScript
{ noDrag: 'input, textarea, .no-drag', }
dragMinThreshold
dragMinThreshold: number | { mouse: number, touch: number } = 10
ドラッグとみなされる最小移動距離を指定します。単一の値を与えると、タッチアクションに対してのみ作用しますが、オブジェクトを与えることでマウスに対しても最小距離を適用できます。たとえば、以下の2つの設定は同じ結果になります。
{
dragMinThreshold
:
10
,
}
{
dragMinThreshold
:
{
mouse
:
0
,
touch
:
10
,
}
,
}
JavaScript
{ dragMinThreshold: 10, } { dragMinThreshold: { mouse: 0, touch: 10, }, }
この値は、ユーザが縦にスワイプしたいのか、スライダーを横にドラッグしたいのかを見極めるために重要な役割を果たします。touch
の値は0
を受け付けません。
flickPower
flickPower: number = 600
フリックした際どのくらいの距離を移動するか決定するためのパラメータで、大きな数字を指定すればするほど遠くまで移動します。500程度の値が適当です.
flickMaxPages
flickMaxPages: number = 1
フリックにより移動できる最大ページ数を指定します。
waitForTransition
waitForTransition: boolean = true
スライダーが移動中にも操作を受け付けるかどうかを決定します。ただし、この値をfalse
に指定したとしても、ループ中など、ある特定のタイミングでは操作を受け付けない場合があります。
また、wheel
オプションを有効にする場合は、このオプションはfalse
である必要があります(そうでないと一瞬で何枚も移動してしまいます)。
arrowPath
arrowPath: string
矢印に使われるSVGのパスを指定します。SVGのサイズは40×40です。
autoplay
autoplay: boolean | 'pause' = false
自動再生を有効にするかどうかを決定します。'pause'
を設定すると、自動再生は停止した状態から始まりますので、再生ボタンを提供するか、あるいはAutoplay#play()
を用いて手動で再生する必要があります。
Intersectionエクステンションを利用すると、スライダーがビューポート内にある場合にのみ自動再生するよう設定できます。
interval
interval: number = 5000
自動再生の間隔をミリ秒単位で指定します。data-splide-interval
を使用すると、特定のスライドにおいてこの値を上書きできます。
<
li
class
=
"splide__slide"
data-splide-interval
=
"1000"
>
<
/
li
>
<
li
class
=
"splide__slide"
data-splide-interval
=
"10000"
>
<
/
li
>
HTML
<li class="splide__slide" data-splide-interval="1000"></li> <li class="splide__slide" data-splide-interval="10000"></li>
pauseOnHover
pauseOnHover: boolean = true
マウスオーバーしたときに自動再生を停止するかどうかを決定します。
pauseOnFocus
pauseOnFocus: boolean = true
スライダー内にフォーカスされたエレメントがある場合、自動再生を停止するかどうかを決定します。アクセシビリティの観点から、この値はtrue
のままにしておくことをおすすめします。
resetProgress
resetProgress: boolean = true
自動再生が中断されたのち再開する際、それまでの経過時間を維持するか破棄 するかを決定します。
lazyLoad
lazyLoad: boolean | 'nearby' | 'sequential' = false
スライダー内の画像を遅延読み込みするかどうかを決定します。
false | 遅延読み込みを無効にする |
---|---|
'nearby' | 現在のページの周辺のスライドのみロードする |
'sequential' | 初期化後、最初のスライドから順番にロードする |
遅延読み込みを使用するには、スライドの中のimg
要素にdata-splide-lazy
属性を追加し、その値として画像ファイルへのパスやURLを指定する必要があります。このとき、src
属性は空か、あるいはプレースホルダなど、本来の画像とは別の画像へのパスにする必要があります。
<
li
class
=
"splide__slide"
>
<
img
data-splide-lazy
=
"path-to-the-image"
alt
=
"cat"
>
<
/
li
>
<!-- または -->
<
li
class
=
"splide__slide"
>
<
img
src
=
"data:image/png;base64,..."
data-splide-lazy
=
"path-to-the-image"
alt
=
"cat"
>
<
/
li
>
HTML
<li class="splide__slide"> <img data-splide-lazy="path-to-the-image" alt="cat"> </li> <!-- または --> <li class="splide__slide"> <img src="data:image/png;base64,..." data-splide-lazy="path-to-the-image" alt="cat" > </li>
あるいは、data-splide-lazy-srcset
を用いてsrcsetも指定できます。
<
li
class
=
"splide__slide"
>
<
img
data-splide-lazy-srcset
=
"600.jpg 600w, 1000.jpg 1000w"
sizes
=
"100vw"
data-splide-lazy
=
"1000.jpg"
alt
=
"cat"
>
<
/
li
>
HTML
<li class="splide__slide"> <img data-splide-lazy-srcset="600.jpg 600w, 1000.jpg 1000w" sizes="100vw" data-splide-lazy="1000.jpg" alt="cat" > </li>
preloadPages
preloadPages: number = 1
遅延読み込みの際、事前に何ページ分読み込むかを指定します。lazyLoad
オプションが'nearby'
の時のみ有効なオプションです。
この値は、厳密にページ番号と連動しているわけではありません。perPage * ( preloadPages + 1 ) - 1
という計算によって、単に「事前に何枚画像をロードするか」を決定するための範囲を決めるものです。たとえば、perPage
が2
で現在のインデックスが0
の場合、画像が読み込まれる範囲は[ -3, 3 ]
と決定されます(マイナスのインデックスはクローンに対して有効です)。
keyboard
keyboard: boolean | 'global' | 'focused' = false
次のようなキーボード操作を有効にするかどうかを決定します。
キー | 説明 |
---|---|
← | LTRでは前の、RTLでは次のページを表示 |
→ | LTRでは前の、RTLでは次のページを表示 |
↑ | TTBで前のページを表示 |
↓ | TTBで次のページを表示 |
'focused'
が与えられた場合、古いバージョンではルート要素にtabindex="0"
を与えていましたが、この機能は次の理由により廃止されました。
tabindex="0"
を非インタラクティブな要素に適用するのは避けることが推奨されている- ルート要素は
region
またはgroup
ロールを持たせる必要があるが、それらはインタラクティブではない
また、ページネーションがフォーカスされている場合は、専用のショートカットが優先されます。
true | スライダー内の要素がフォーカスを持っている場合にのみショートカットを有効にする |
---|---|
false | ショートカットを無効にする |
'global' | windowの |
'focused' |
|
wheel
wheel: boolean = false
マウスホイールによるスライダーの移動を有効にするかどうかを決定します。waitForTransition
オプションはtrue
に設定してください。
wheelMinThreshold
wheelMinThreshold: number
慣性スクロールなどによって生じる微量な変化量を無視するための閾値です。
wheelSleep
wheelSleep: number
次のWheel入力を受け付けるまでのスリープ時間をミリ秒単位で指定します。このタイマーは、スライドの移動と同時にスタートします。
releaseWheel
releaseWheel: boolean = false
スライダーが最初または最後のスライドに到達した際にwheelイベントを開放し、つづけてページをスクロールできるようにします。
- 01
- 02
- 03
direction
direction: 'ltr' | 'rtl' | 'ttb' = 'ltr'
スライダーの方向を指定します。
'ltr' | 左から右 |
---|---|
'rtl' | 右から左 |
'ttb' | 上から下 |
cover
cover: boolean = false
画像のsrc
をその親要素のbackground-image
に変換するかどうかを決定します。このオプションを使用するには、height
、fixedHeight
またはheightRatio
オプションのいずれかを与えてください。
このオプションはsrcset
をサポートしていません。
slideFocus
slideFocus: boolean = true
見えているスライドに対してtabindex="0"
を追加するかどうかを決定します。
focusableNodes
focusableNodes: string = 'a, button, textarea, input, select, iframe'
スライドの中にある、フォーカス可能な要素を取得するためのセレクタです。アクセシビリティのため、スライドが見えていないとき(aria-hidden="true"
)、これらの要素にはtabindex="-1"
が付与されます。より詳しい内容は このセクション に記載されています。
isNavigation
isNavigation: boolean = false
ほかのスライダーのナビゲーションとして、それぞれのスライドをクリック可能にするかどうかを決定します。スライダー同士を同期させるには、Splide#sync()
を使用してください。
trimSpace
trimSpace: boolean | 'move' = true
focus
オプションを有効にした際に現れる余白を取り除くかどうかを決定します。
true | 余白を取り除く。移動のリクエストが来た場合でも、アクティブスライドが更新されるのみで、スライダーそのものが動かない場合がでてくる |
---|---|
false | 余白をそのまま表示する |
'move' | 余白を取り除くが、移動の要求が来た場合は必ずスライダーを動かす |
デフォルトで、左右の余白は取り除かれる設定になっています。このとき、スライダーはアクティブスライドの更新を優先し、スライダー自体は移動しない場合があります。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
このオプションを無効にすると、左右の余白はそのまま表示されます。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
余白を取り除き、かつスライダーを必ず移動させるには、'move'
を指定してください。結果は以下のようになります。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
omitEnd
omitEnd: boolean = false
有効にすると、最終ページに到達した時点で、非アクティブなスライドが残っていたとしても「次へ」の矢印を無効化します。また、スライダーの移動を発生させないページネーションのボタンを省略します**(^4.1.0)。このオプションを使用するには、focus
を明示的に与える必要がある**ことに注意してください。
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
このオプションは、fixedWidth
やautoWidth
に対しても効果を発揮します。
- 180
- 250
- 200
- 225
- 150
updateOnMove
updateOnMove: boolean = false
is-active
クラスを移動前に更新するかどうかを決定します。
- 04
- 05
- 06
- 07
- 08
- 09
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 01
- 02
- 03
- 04
- 05
- 06
destroy
destroy: boolean | 'completely' = false
スライダーを破棄するかどうかを決定します。
true | 破棄するが、引き続きブレークポイントを監視する |
---|---|
'completely' | 完全にスライダーを破棄する |
mediaQuery
mediaQuery: 'min' | 'max' = 'max'
ブレークポイントの検出に用いられるメディアクエリに対して、min-width
、max-width
のどちらを使うかを指定します。
live
live: boolean = true
ライブリージョンを有効にします。
isNavigation
オプションが有効の場合、ライブリージョンは常に無効化されます。
breakpoints
breakpoints: Record<string | number, ResponsiveOptions>
それぞれのブレークポイントに対するレスポンシブオプションの集合です。デフォルトではメディアクエリにmax-width
(デスクトップファースト)を使用しますが、mediaQueryオプションでmin-width
(モバイルファースト)に変更できます。
たとえば、幅が640px
より小さくなった際、スライドの表示数を4枚から2枚に減らすには次のように設定します。
{
perPage
:
4
,
breakpoints
:
{
640
:
{
perPage
:
2
,
}
,
}
}
JavaScript
{ perPage: 4, breakpoints: { 640: { perPage: 2, }, } }
特定のブレークポイントでスライダーを破棄するには次のようにします。
{
breakpoints
:
{
640
:
{
destroy
:
true
,
}
,
}
}
JavaScript
{ breakpoints: { 640: { destroy: true, }, } }
reducedMotion
reducedMotion: Options
(prefers-reduced-motion: reduce)
を検出した際に適用されるオプションを変更できます。詳細はこちらを参照してください。初期値は以下の通りです。
{
speed
:
0
,
rewindSpeed
:
0
,
autoplay
:
'pause'
,
}
JavaScript
{ speed : 0, rewindSpeed: 0, autoplay : 'pause', }
classes
classes: Record<string, string>
クラス名を追加するためのオブジェクトを指定します。たとえば、自動生成される矢印やページネーションに対してクラスを追加するには、次のようにします。
new
Splide
(
'.splide'
,
{
classes
:
{
// 矢印関連のクラスを追加
arrows
:
'splide__arrows your-class-arrows'
,
arrow
:
'splide__arrow your-class-arrow'
,
prev
:
'splide__arrow--prev your-class-prev'
,
next
:
'splide__arrow--next your-class-next'
,
// ページネーション関連のクラスを追加
pagination
:
'splide__pagination your-class-pagination'
,
// container
page
:
'splide__pagination__page your-class-page'
,
// each button
}
,
}
)
.
mount
(
)
;
JavaScript
new Splide( '.splide', { classes: { // 矢印関連のクラスを追加 arrows: 'splide__arrows your-class-arrows', arrow : 'splide__arrow your-class-arrow', prev : 'splide__arrow--prev your-class-prev', next : 'splide__arrow--next your-class-next', // ページネーション関連のクラスを追加 pagination: 'splide__pagination your-class-pagination', // container page : 'splide__pagination__page your-class-page', // each button }, } ).mount();
デフォルトのクラス名はSplide本体が参照するため削除せず、同時に指定してください。
i18n
i18n: Record<string, string>
ローカライズ用のテキストを変更するためのオブジェクトです。詳しくはこのページを参照してください。