Swiperで1枚目だけ長く表示したい
※2023年11月追記
どこかのバージョンで「data-swiper-autoplay」という属性に対応し、スライドにこの属性を加えるだけで良くなったようです!
<!-- 2秒止める場合 -->
<div class="swiper-slide" data-swiper-autoplay="2000">
対応してないバージョンの方は以前の内容の下記内容を役立ててね。
という事が必要になりそうでならなかったので供養します。
// Swiper起動
const mainSlider = new Swiper('#mainSlider', {
effect: "fade",
fadeEffect: {
crossFade: true
},
loop: true,
autoplay: {
delay: 2000
},
speed: 1000,
})
// 以下が特定のスライドのみ表示時間を伸ばす処理
let stopSlide;
mainSlider.on('transitionEnd',function (){
clearTimeout(stopSlide);
mainSlider.autoplay.start();
if ( mainSlider.realIndex === 0 ){//対象のスライドを指定(0から数える)
mainSlider.autoplay.stop();
console.log('stop');
stopSlide = setTimeout(function (){
mainSlider.autoplay.start();
console.log('restart');
},8000);// 伸ばしたい時間を指定(今回は8秒)
}
})
原理としてはスライダーが切り替わったとき、
対象のスライドであれば、自動スライドをオフにし、伸ばしたい時間経ったら自動で再開するということをしています。
それに加えて手動で切り替えたときは自動スライドを再開し、上記の自動再開処理を停止する、ということをやっています。
動画を埋め込むときなど活用できるかもしれませんね。
■□■□■□■□■□■□■□■□■□■□
営業時間:平日9:00〜18:00
●福岡オフィス
〒810-0042
福岡市中央区赤坂1-12-6 赤坂Sビル2F
TEL:092-726-5550 FAX:092-726-5558
●宮崎出張所
〒880-0001
宮崎県宮崎市橘通西3-10-32
宮崎ナナイロ東館8FATOMica内
⇒ メールでのお問合せ
⇒ ホームページ制作実績
⇒ 会社案内
■□■□■□■□■□■□■□■□■□■□