<div c…"> swiperの完全停止 | BLOG|ホームページ制作 Brick Plan【ブリックプラン】

2025.08.08

JavaScript

swiperの完全停止

デモページはこちら

swiper.jsでスライドを完全に停止させます。一時停止ではなく完全停止です。
htmlのコードは以下の通りです。

<div class="swiper-container js-slider">
  <div class="swiper-wrapper">
    <div class="swiper-slide"><img src="images/swiper01.jpg" alt=""></div>
    <div class="swiper-slide"><img src="images/swiper02.jpg" alt=""></div>
    <div class="swiper-slide"><img src="images/swiper03.jpg" alt=""></div>
    <div class="swiper-slide"><img src="images/swiper04.jpg" alt=""></div>
    <div class="swiper-slide"><img src="images/swiper05.jpg" alt=""></div>
  </div>
  <div class="swiper-pagination"></div>
  <div class="swiper-button-prev"></div>
  <div class="swiper-button-next"></div>
</div>
<button class="btn-stop">停止</button>

JavaScriptのコードです。
スライダーの停止が確認しやすいように自動再生をオンにしています。swiperのdestroyメソッドの第一引数はswiperインスタンスの破棄(deleteInstance)、第二引数はswiperが動的に付与するクラスとスタイルの破棄(deleteStyles)です。どちらも初期値はtrueですが、今回は明示的にtrueを指定しています。destroy();と記述しても同じ結果になります。

第一引数がtrueの場合swiperインスタンスが破棄され、swiperのプロパティやメソッドにアクセスできなくなります。第二引数がtrueの場合、swiperが動的に付与するクラス(swiper-container-initialized)やスタイル(transformやtransition)がhtml要素から削除されます。

const sliderPager = document.querySelector('.swiper-pagination');
const sliderPrev = document.querySelector('.swiper-button-prev');
const sliderNext = document.querySelector('.swiper-button-next');
const sliderStop = document.querySelector('.btn-stop');

const swiper01 = new Swiper('.js-slider', {
  autoplay: {
    delay: 3000,
    disableOnInteraction: false,
  },
  loop: true,
  pagination: {
    el: sliderPager,
    clickable: true,
  },
  navigation: {
    nextEl: sliderNext,
    prevEl: sliderPrev,
  }
});

sliderStop.addEventListener('click', function() {
  swiper01.destroy(true, true);
  sliderPager.style.display = 'none';
  sliderPrev.style.display = 'none';
  sliderNext.style.display = 'none';
});

なおdestroyメソッドを実行しただけでは、ページネーションとナビゲーションボタンは消えません。JavaScriptでCSSのdisplayプロパティをnoneに変更して消しています。

関連記事

2020.10.18

JavaScript

swiper.jsでスライドを一定速度で無限ループ

デモページはこちら swiper.jsでスライドを一定速度で無限ループさせます。スライダー全体の横幅を決めて表示スライドを1つにし、はみ出したスライドをCSSで…

2020.10.16

JavaScript

swiper.jsのオプションbreakpointsで表示スライド数を切り替え

デモページはこちら swiper.jsのオプションbreakpointsで表示スライド数を切り替えます。 htmlのコードは以下の通りです。クラス名swiper…

2025.08.10

JavaScript

swiper自動再生の一時停止と再開

デモページはこちら swiper.jsでスライドを自動再生させ、ボタンのクリックで一時停止と再開を切り替えます。htmlのコードは以下の通りです。 JavaSc…

2021.01.02

JavaScript

imagesLoadedを利用した画像のローディング

デモページはこちら 画像読み込みの管理ができるJavaScriptライブラリ、imagesLoadedを利用して画像の透過度が変化して見えるローディングを実装し…

2020.10.17

JavaScript

swiper.jsのオプションslidesPerViewにautoを指定して独自で横幅設定

デモページはこちら swiper.jsのオプションslidesPerViewにautoを指定して、独自で横幅を設定します。htmlのコードは以下の通りです。ナビ…

上に戻る