メインのスライダーの下にサムネイルがあり、それをクリックするとメインのスライドが連動して切り替わるタイプのスライダーの作り方を、Swiperを使って解説していきます。
Swiperの基本的な使い方についてはこちらの記事を参照下さい。
【2024年最新Ver11】Swiperの使い方とよく使うオプション・カスタマイズ方法を解説
続きを見る
またSwiperには色々カスタマイズが出来るオプションがあるので、そちらも合わせて活用すると実装出来るスライダーの幅が広がります。
【Swiper】カスタマイズ用オプションまとめ一覧
続きを見る
(有料になっていたらすいません🙇♂️)
Swiperでサムネイルクリックで画像が切り替わるスライダーの作り方
まずは、基本となるスライダーはこちらになります。
See the Pen
Swiper(矢印、ドットインジケーター) by junpei (@junpei-sugiyama)
on CodePen.
前後の矢印、ページネーションが表示されているシンプルなスライダーです。
今回はサムネイルを表示させたいのですが、スライダー部分は基本のスライダーとHTMLは同じです(スクロールバーとページネーションは外しています)
今回のポイントは、CSSとJavaScriptになります。
HTMLのコード
今回は、サムネイル用の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のコード
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のコード
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.
まとめ
今回は、Swiperでサムネイルをクリックしたら画像が切り替わるスライダーの作り方を解説しました。
これは実務でも使うことがあると思うので、ブックマークしておくといいかと思います。
以上になります。
関連記事slick記事一覧
関連記事Swiper記事一覧
関連記事Splide記事一覧