Web活のロゴ

Web制作Output&初心者のための徹底ガイド

–Swiper– ウェブサイトで良く見かけるスライドショーなどを簡単に作成してくれるライブラリー #1

2023.06.16Swiperの使い方
はじめに
概要

Swiperは、ウェブサイトで良く見かけるスライドショーなどを簡単に作成してくれるJavascriptライブラリーです。Web制作では欠かせないスキルになりますのでマスターしていきましょう。

スポンサーリンク
※本記事の情報は執筆時点のものであり、閲覧時点では変更されている可能性があります。また、ご利用の環境によっては、本記事の内容が正常に動作しないことがあります。最新の情報については、公式サイトなどでご確認ください。
 

サンプルコード

この記事はこちらのサンプルコードを解説しています。サンプルコードをテキストエディタで開いて、解説を読むことで理解がより容易になります。一緒にSwiperを実装していきましょう。

 

Swiperの実装

Swiperの公式ページ
https://swiperjs.com/

CDN

swiperのcdnをゲット

Get StartedボタンからCDNが入手できます。様々な方法がありますが、まずはCDNで試してみましょう。

HTML

<!DOCTYPE html>
<html lang="ja">
  <head>
    <!-- 必須事項 -->
    <meta name="viewport" content="width=device-width,initial-scale=1" />

    <!-- リセットCSS -->
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/destyle.css@1.0.15/destyle.css"
    />

    <!-- swiper -->
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css"
    />

    <!-- 独自のCSS -->
    <link rel="stylesheet" href="dist/css/index.min.css" />
  </head>

  <body>
    
    <!-- swiper -->
     <script src="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.js"></script>
    <!-- 独自のJs -->
    <script type="module" src="js/index.js"></script>
  </body>
</html>

正常に動作させるためには、添付する位置に注意して各リンクを設定します。
なお、Jsファイルはmoduleを使用し、cssはScssを使用しています。moduleについてはこちら・Scssについてはこちらを参照ください。

 

Swiper

<div class="hero">
  <div class="hero__inner wrap">
    <div class="swiper">
      <div class="swiper-wrapper">
        <div class="swiper-slide">
          <img src="https://picsum.photos/1000/500?random=1" alt="" />
        </div>
        <div class="swiper-slide">
          <img src="https://picsum.photos/1000/500?random=2" alt="" />
        </div>
        <div class="swiper-slide">
          <img src="https://picsum.photos/1000/500?random=3" alt="" />
        </div>
        <div class="swiper-slide">
          <img src="https://picsum.photos/1000/500?random=4" alt="" />
        </div>
      </div>
      <div class="swiper-button-next fa-circle-right"></div>
      <div class="swiper-button-prev fa-circle-left"></div>
      <div class="swiper-pagination"></div>
    </div>
    <!-- /.swiper -->
  </div>
  <!-- /.hero__inner -->
</div>
<!-- /.hero -->

swiper全体の余白を調整するために、heroタグを追加で設定しております。

 
スポンサーリンク

便利なオプション

以下のオプションは、実践でよく使います。こちらで詳しく説明していきましょう。

swiper.js

export class HeroSlider {
  constructor(el) {
    this.el = el;
    this.swiper = this._initSwiper();
  }

  _initSwiper() {
    return new Swiper(this.el, {
      loop: true,
      speed: 1000,
      slidesPerView: 1, // 画像の枚数
      spaceBetween: 30, // 画像の余白

      autoplay: {
        delay: 3000, // 次のスライダーの間隔
        disableOnInteraction: false, // 画面操作後も、スライダーを継続
      },

      breakpoints: {
        360: {
          slidesPerView: 1,
        },
        600: {
          slidesPerView: 1.5,
        },
        960: {
          slidesPerView: 1.5,
          centeredSlides: true, // 画像を中央に寄せる
        },
      },

      pagination: {
        el: ".swiper-pagination",
        clickable: true,
      },

      navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
      },
    });
  }
}

コメントアウトで解説している内容は、Swiperを実装する上で、必要なオプションになりますのでご参考ください。

 

autoplay

ウェブサイトやアプリケーションのスライダー(画像やコンテンツを順番に表示する機能)などでよく使われる機能の一つです。これにより、ユーザーが手動で次のスライドを切り替える必要がなく、自動的にスライドが切り替わるようになります。

pagination

現在のスライドの位置を示すためのUI要素を提供します。ページネーションは通常、スライダーの下部に表示され、ユーザーにスライドの位置や総数を知らせる役割を果たします。HTMLにもpaginationを記述必要があります。

navigation

ユーザーがスライドを切り替えるためのUI要素を提供します。こちらもHTMLに記述が必要です。

breakpoints

レスポンシブなデザインを実現するためにSwiperライブラリで提供される機能です。ブレイクポイントは、ウェブサイトやアプリケーションが異なる画面サイズやデバイスに適応するために使用されます。metaタグにviewportが設定されていないと、上手く機能しない場合がありますので注意ください。例:<meta name=”viewport” content=”width=device-width,initial-scale=1″ />

以上です。お疲れ様でした。実装は上手くできましたでしょうか?
もし、何かお困りなことがありましたら、お気軽にご連絡くださいませ。お問い合わせフォームはこちらです。

 
スポンサーリンク
まとめ
  • Swiperを活用することで、スライダーが容易に実装できる
  • 便利なオプションが多数準備されている
  • 様々なブラウザにも対応している
  • Web制作では必須のスキルである