お問い合わせ・無料相談
WEBのこと 2023.09.29

swiperでスライドに複数(2つ)のpagination(ページネーション)を設定したい場合

WRITER
Sasayama Sayaka ディレクター
Sasayama Sayaka

ディレクター。ウェブデザイン技能士(2級)/HTML5プロフェッショナル認定資格 レベル1・レベル2。

swiperでスライドに複数(2つ)のpagination(ページネーション)を設定したい場合

swiperで一つのスライドに複数のpaginationを設定したい

普段スライダーはswiperを使用していますが、
先日このようなデザインでスライダーを作成する場面がありました。

ページネーションがやや特殊ですね。

もしかしたらページネーション一つでこれを再現できるのかもしれないのですが、
私にはページネーションを2つ使う方法しか思いつけなかったので、
結局どう実装したかの記録です。

ちなみにswiperはページネーションはスラーダー一つにつき1つしか設定できないようです。

実際のコード

HTML


  &#12296!-- メインのスライダー -->

  &#12296div class="swiper-container swiper_main">

    &#12296div class="swiper-wrapper">

      &#12296div class="swiper-slide">

        &#12296img src="img_01.jpg" alt="">

      &#12296/div>

      &#12296div class="swiper-slide">

        &#12296img src="img_02.jpg" alt="">

      &#12296/div>

      &#12296div class="swiper-slide">

        &#12296img src="img_03.jpg" alt="">

      &#12296/div>

    &#12296/div>

    &#12296div class="swiper-pagination swiper-my-pagination-main">&#12296/div>

  &#12296/div>

&#12296!-- サブのスライダー -->

&#12296div class="swiper-container swiper_sub">

  &#12296div class="swiper-wrapper">

    &#12296div class="swiper-slide">

    &#12296/div>

    &#12296div class="swiper-slide">

    &#12296/div>

    &#12296div class="swiper-slide">

    &#12296/div>

  &#12296/div>

  &#12296div class="swiper-pagination swiper-my-pagination-sub">&#12296/div>

&#12296/div>

JS


&#12296script>

  let mySwiper_sub = new Swiper('.swiper_sub', {
  slidesPerView: 1,
    pagination: {
          el: '.swiper-my-pagination-sub',
          type: 'fraction',//スライド総数と現在のスライド番号の表示
      },
  });

  let mySwiper_main = new Swiper('.swiper_main', {
      loop: true,
      slidesPerView: 1,
      effect: 'fade',
      pagination: {
          el: '.swiper-my-pagination-main',
          clickable: true,
      },
      thumbs: {
        swiper: mySwiper_sub//「swiper_sub」と連動
      }
  });
&#12296/script>

メインのスライド(swiper_main)に対してサブのスライド(swiper_sub)を連動させ、
サブスライドのページネーションをメインのスライドのページネーションに見せかけることでデザインの形にしました。

cssは省略します。

デフォルトでは「swiper_main」のページネーションに●が表示されるかと思います。
cssで線に変更するとデザインどおりの形にできます。
(「swiper_sub」のページネーションは「現在のスライド番号/総スライド数」の表示)

JOURNALが気に入ったら「いいね」してね!

Contact

ブランディング・WEB制作・運用まで、まずは一度お話を聞かせてください。 初回のご相談は無料で承っています。

お電話

0120-622835

10:00〜18:00 / 土日祝休

メールフォーム

お問い合わせはこちら