スライダーの下に 1 / 4 という感じで枚数が表示されているデザインがたまにあります。
今回はSplideでスライドの総数と現在のスライドが何番目か表示させるスライダーの作り方を解説していきます。
Splideの基本的な使い方についてはこちらの記事を参照下さい。
【最新】Splideスライダーの使い方とオプション一覧・カスタマイズ方法を解説
続きを見る
(有料になっていたらすいません🙇♂️)
Splideでスライドの総数と現在のスライドが何番目か表示させる方法
まずは基本となるスライダーを見てみましょう。
See the Pen
Splide:基本形 by junpei (@junpei-sugiyama)
on CodePen.
前後の矢印、ページネーションが表示されているシンプルなスライダーです。
今回の枚数は下にあるページネーションの位置に表示させたいので、ページネーションは非表示にさせます。
コード解説
それではコードを解説していきます。
HTML
まずHTMLはこちらです。
<div class="wrapper">
<div class="splide" role="group" aria-label="スライドの総数と現在のスライドが何番目か表示">
<div class="splide__track">
<div class="splide__list">
<div class="splide__slide">
<img src="画像パス1" alt="" />
</div>
<div class="splide__slide">
<img src="画像パス2" alt="" />
</div>
<div class="splide__slide">
<img src="画像パス3" alt="" />
</div>
</div>
<div class="pagination">
<span id="current-slide"></span>
<span>/</span>
<span id="slide-length"></span>
</div>
</div>
</div>
</div>
基本形と違うのは下のこちらです。
<div class="pagination">
<span id="slide-current"></span>
<span>/</span>
<span id="slide-length"></span>
</div>
<span id="slide-current"></span>
が現在のスライドが何枚目かを表示して、<span id="slide-length"></span>
がスライドの総数を表示します。
<span>/</span>
は間の区切りになるので、・でもーでも構いません。
あとはスライダーを小さくするために.wrapper
で囲っています。
CSS
CSSはこちらです。
/* 数字の位置 */
.pagination {
bottom: 0;
left: 0;
position: absolute;
right: 0;
text-align: center;
z-index: 1; /* これがないとスライドの下になる */
}
/* 数字の色やサイズ調整 */
.pagination span {
color: #fff;
font-size: 30px;
font-weight: 700;
text-shadow: 1px 1px 2px black;
}
/* スライドのサイズ調整 */
.splide__slide img {
height: auto;
width: 100%;
}
/* レイアウトの為のスタイル */
.wrapper {
margin-inline: auto;
max-width: 600px;
width: 100%;
}
CSSは単純にフォントのスタイルや位置を調整しているだけで、特に何も書かなくても表示はされます。
JavaScript
そしてJavaScriptはこちらです。
const splide = new Splide(".splide", {
type: "fade", // フェード
autoplay: true, // 自動再生
rewind: true, // スライダーの終わりまで行ったら先頭に巻き戻す
pauseOnHover: false, // カーソルが乗ってもスクロールを停止させない
pagination: false, // ページネーション非表示
interval: 2000, // 自動再生の間隔
speed: 2000, // スライダーの移動時間
}).mount();
// 次のスライドが表示されるタイミングで発生
splide.on("active", function () {
slideIndex();
});
function slideIndex() {
// 現在のスライドが何枚目かを取得
document.getElementById("slide-current").textContent = splide.index + 1;
// スライドの総数を取得
document.getElementById("slide-length").textContent = splide.length;
}
slideIndex();
最初は通常のオプションになり、後半がスライドの総数と現在のスライドが何番目か表示させるコードになります。
デモ
そしてこちらがデモになります。
See the Pen
Splide(スライドの総数と現在のスライドが何番目か表示) by junpei (@junpei-sugiyama)
on CodePen.
まとめ
今回はSplideでスライドの総数と現在のスライドが何番目か表示させる方法を解説してきました。
Swiperではオプションを1つ書くだけで実装できるので、簡単に実装したい人はSwiperの方がいいかも知れません。
【Swiper】スライドの総数と現在のスライドが何番目か表示させる方法
続きを見る
以上になります。
関連記事slick記事一覧
関連記事Swiper記事一覧
関連記事Splide記事一覧