やらかした
表示数がおかしい場合
6枚表示のスライドを作った。
const swiperSample = new Swiper('#swiper_sample', {
slidesPerView: 6,
});
幅に合わせて表示量を変えたくなった。
const swiperSample = new Swiper('#swiper_sample', {
slidesPerView: 6,
breakpoints: {
420: { slidesPerView: 2, },
768: { slidesPerView: 4, },
1024: { slidesPerView: 5, },
1200: { slidesPerView: 6, },
}
});
スマホ幅(416px)にしたらPCと同じく6個並んでんだけど。
原因と解決方法
breakpoint外で設定した数字が反映してるせい。
こうすればOK。
const swiperSample = new Swiper('#swiper_sample', {
slidesPerView: 2,
breakpoints: {
420: { slidesPerView: 2, },
768: { slidesPerView: 4, },
1024: { slidesPerView: 5, },
1200: { slidesPerView: 6, },
}
});
最小幅から順次設定していくのだと覚える。
動かない場合
こんな感じで作ったとする。
<div class="swiper-slide">...</div>
<div class="swiper-slide">...</div>
<div class="swiper-slide">...</div>
<div class="swiper-slide">...</div>
<div class="swiper-slide">...</div>
<div class="swiper-slide">...</div>
こうしたとする。
const swiperSample = new Swiper('#swiper_sample', {
slidesPerView: 2,
breakpoints: {
420: { slidesPerView: 2, },
768: { slidesPerView: 4, },
1024: { slidesPerView: 5, },
1200: { slidesPerView: 6, },
}
});
最大幅だと数がぴったりで動かないのはわかる。でも、表示数が多い幅まで狭めても動かない。
原因と解決方法
結局最大数より多くないのが悪い。
上の例だと7個以上で動く。
まとめ
自身のやらかしにより起こったことなんで、ひょっとしたら違うかもしれない。
違ったらごめんなさい。
コメント