2025.08.11

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>

JavaScriptのコードです。
disableOnInteraction: falseでユーザーがswiperを操作(クリック、ドラッグなど)しても自動再生が停止しないようにします。これにより、マウスオーバー時の一時停止・再開を独自に制御できます。

swiper01.el.addEventListenerの「el」はelement(要素)の略で、swiper.jsのようなライブラリではswiperインスタンスが紐づいているDOM要素そのものを指します。これにより、JavaScriptからそのDOM要素に直接アクセスし、イベントリスナーを追加できます。

var swiper01 = new Swiper('.js-slider', {
  autoplay: {
    delay: 3000,
    disableOnInteraction: false, //ユーザー操作で自動再生を停止しない(重要)
  },
  loop: true,
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  },
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  }
});

// マウスオーバー時に自動再生を停止
swiper01.el.addEventListener('mouseenter', function() {
  swiper01.autoplay.stop();
});

// マウスアウト時に自動再生を再開
swiper01.el.addEventListener('mouseleave', function() {
  swiper01.autoplay.start();
});

関連記事

2020.10.27

JavaScript

JavaScriptで文字列を検索(indexOf・search・match・test)

デモページはこちら JavaScriptで文字列を検索するメソッドのまとめです。それぞれ記述の仕方と戻り値に特徴があります。 以下のhtmlの構造でテストします…

2020.10.17

JavaScript

swiper.jsのオプションdirectionにverticalを指定して縦方向のスライダーを実装

デモページはこちら swiper.jsのオプションdirectionにverticalを指定して、縦方向のスライダーを実装します。htmlのコードは以下の通りで…

2020.10.26

JavaScript

JavaScriptのpushメソッドで配列に要素を追加・joinメソッドで配列の要素を連結

デモページはこちら JavaScriptのpushメソッドで配列に要素を追加し、joinメソッドで配列の要素を連結して文字列を生成します。 以下のhtmlの構造…

2020.10.26

JavaScript

JavaScriptのsplitメソッドで要素を分割し配列に格納

デモページはこちら JavaScriptのsplitメソッドで要素を分割し配列に格納します。 以下のhtmlの構造でテストします。 splitメソッドは指定した…

2021.01.02

JavaScript

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

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

上に戻る