Web制作 スライダー

【Swiper】サムネイルクリックで画像が切り替わるスライダーの作り方

【Swiper】サムネイルクリックで画像が切り替わるスライダーの作り方
Swiperでサムネイル付きのスライダーって作れない?

メインのスライダーの下にサムネイルがあり、それをクリックするとメインのスライドが切り替わるタイプのスライダーの作り方を解説していきます。

Swiperの基本的な使い方については以下の記事を参照下さい。

jQuery不要】スライダープラグイン Swiper.jsの使い方

効率よくコーディングしたい人はこちら

Swiperでサムネイルクリックで画像が切り替わるスライダーの作り方

まずは基本となるスライダーはこちらになります。

See the Pen
Swiper(矢印、ドットインジケーター)
by junpei (@junpei-sugiyama)
on CodePen.

前後の矢印、ページネーションが表示されているシンプルなスライダーです。

今回はサムネイルを表示させたいのですが、HTMLはスライダー部分は基本のスライダーと同じです(スクロールバーとページネーションは外しています)

あとはサムネイル用のHTMLを追加します。

<!-- スライダー -->
<div class="swiper slider">
  <div class="swiper-wrapper">
    <div class="swiper-slide">
      <img src="画像パス1" alt="" />
    </div>
    <div class="swiper-slide">
      <img src="画像パス2" alt="" />
    </div>
    <div class="swiper-slide">
      <img src="画像パス3" alt="" />
    </div>
  </div>
  <!-- 前後の矢印 -->
  <div class="swiper-button-next"></div>
  <div class="swiper-button-prev"></div>
</div>

<!-- サムネイル -->
<div class="swiper slider-thumbnail">
  <div class="swiper-wrapper">
    <div class="swiper-slide">
      <img src="画像パス1" alt="" />
    </div>
    <div class="swiper-slide">
      <img src="画像パス2" alt="" />
    </div>
    <div class="swiper-slide">
      <img src="画像パス3" alt="" />
    </div>
  </div>
</div>

サムネイルのコードも前後の矢印以外はスライダーと同じです。

CSSはこちらです。

.slider-thumbnail .swiper-slide {
  opacity: .5;
  transition: opacity .5s;
  width: calc(100% / 3);
}
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}

サムネイルは3枚なので幅は横幅の1 / 3にしています(レイアウトのためのスタイルは省略しています)

あとは現在選択されているサムネイル以外の透過度をopacityで少し下げています。

JavaScriptはこちらです。

// サムネイル
const sliderThumbnail = new Swiper(".slider-thumbnail", {
  slidesPerView: 3, // サムネイルの枚数
});
// スライダー
const slider = new Swiper(".slider", {
  loop: true,
  // 前後の矢印
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
  thumbs: {
    swiper: sliderThumbnail,
  },
});

最初にサムネイルの枚数などを指定し、次に通常のスライダーのコードとなります。

スライダーのコードを先に書くと動かないのでご注意ください。

そしてこちらがデモになります。

See the Pen
Swiper()
by junpei (@junpei-sugiyama)
on CodePen.

前後の矢印、サムネイルどちらをクリックしてもスライドが切り替わります。

 

フェードで切り替える

フェードで切り替える場合は、JavaScriptにeffect: "fade",を追加すればOKです。

See the Pen
Swiper(サムネイルクリックで画像が切り替わる:フェード)
by junpei (@junpei-sugiyama)
on CodePen.

 

コーディング案件の単価と作業効率を上げる!

Brainランキング1位獲得 & 3日で500部突破

クチコミ約280件(平均スコア

今だけ!5大特典あり🎁

-Web制作, スライダー
-