Web制作 スライダー

【Swiper】スライドの総数と現在のスライドが何番目か表示させる方法

【Swiper】スライドの総数と現在のスライドが何番目か表示させる方法
Swiperのスライダーでスライドの数って表示出来ない?
スライドの総数と現在のスライドが何番目か表示させられるよ!

スライダーの下に 1 / 4 という感じで枚数が表示されているデザインがたまにあります。

今回はSwiperでスライドの総数と現在のスライドが何番目か表示させるスライダーの作り方を解説していきます。

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

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

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

Swiperでスライドの総数と現在のスライドが何番目か表示させる方法

まずは基本となるスライダーを見てみます。

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

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

今回の枚数は下にあるページネーションの位置に表示させたいので、ページネーションは非表示にさせます。

というより、ページネーションのタイプを変えるので、●ではなくなるという感じになります。

こちらが元のJavaScriptです。

const swiper = new Swiper(".swiper", {
  loop: true,
  // ページネーション
  pagination: {
    el: ".swiper-pagination",
    clickable: true, // クリック有効化
  },
  // 前後の矢印
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
});

そしてこちらが今回のコードです。

const swiper = new Swiper(".swiper", {
  loop: true,
  // ページネーション
  pagination: {
    el: ".swiper-pagination",
    type: "fraction", // 枚数表示
    // clickable: true, 無効化
  },
  // 前後の矢印
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
});

pagination のオプションに type: "fraction", を追加しました。

またページネーションのタイプを枚数にするとクリックが無効化されるので、クリックを有効化する clickable: true, は削除してOKです。

slickでも同じように枚数を表示させる事が出来ますが、ちょっと多めのコードを書く必要があったのでそれと比べると1行で表示出来るのは非常に楽ですね。

slick】スライドの総数と現在のスライドが何番目か表示させる方法

そしてこちらが枚数を表示させたスライダーです。

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

 

枚数表示をカスタマイズ

枚数表示のフォントサイズや色を変えたい場合は、以下のようなコードを追記すればOKです。

.swiper-pagination {
  color: #fff; // 色
  font-size: 30px; // フォントサイズ
  font-weight: 700; // 太さ
  letter-spacing: 0.2em; // 文字間隔
  margin-bottom: 50px; // 下の余白
}

もちろん上記はサンプルなので、ご自身の環境に合わせて変更して頂ければと思います。

そして上記コードを追記した場合はこのようになります。

See the Pen
Swiper(枚数を表示:カスタマイズ)
by junpei (@junpei-sugiyama)
on CodePen.

以上になります。

先ほども書きましたが、同じスライダープラグインのslickと比べると断然簡単に出来ます。

実務でもたまにある実装なので、ぜひ出来るようになっておきましょう。

 

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

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

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

今だけ!5大特典あり🎁

-Web制作, スライダー
-