技術Note

Swiperで特定のスライドだけ表示時間を長くする

Swiperで1枚目だけ長く表示したい

という事が必要になりそうでならなかったので供養します。


  // 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内

メールでのお問合せ
ホームページ制作実績
会社案内

■□■□■□■□■□■□■□■□■□■□

カテゴリー

最近の投稿

アーカイブ