Splide
1つのページで複数のSplideを動かす方法
複数のスライダー
Splideのインスタンスは、一つにつき一つのスライダーしか作れません。
セレクタにクラス名を指定してコンストラクタに渡したとしても、Splideは最初にマッチした要素にしかスライダーを適用しません。
複数のスライダーを作成する場合は、それぞれに対してインスタンスを作成してください。
script
//それぞれのスライダーに対してインスタンスを作成
new Splide( '#slider1' ).mount();
new Splide( '#slider2' ).mount();
new Splide( '#slider3' ).mount();
まとめて初期化したい場合は、たとえば以下のようにforなどを利用します
script
var elms = document.getElementsByClassName( 'splide' );
for ( var i = 0; i < elms.length; i++ ) {
new Splide( elms[ i ] ).mount();
}
効率よく記述して動かしたい
該当の1つ目しかSplideが発火しないので、2つ目以降も発火するようにしたい
そのために個別にclassを付けも良いですが、バグりにくいのは個別にIDをつけてあげる方が良い。。。。
例えば、1つのオプションで3つのスライドを制御したい
効率よく記述して動かすために「foreach」を使います!!
「foreach」とはリストや配列などのコレクションに含まれる要素を一つずつ順番に処理するための、プログラミングにおけるループ構文です
script
const splides = document.querySelectorAll('.splide')
splides.forEach(slide => {
new Splide(slide, {
type: 'loop',
perPage: 3,
perMove: 1,
gap: 10,
}).mount();
})





