0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Swiperを使ってスライダーアニメーションを実装する〜導入編〜

Last updated at Posted at 2021-02-12

はじめに

タイトルについて記事にしました。
この記事で得る内容は以下の通りです。

・ Swiperの概要、直接ファイルをダウンロードして導入する方法

■ 関連記事
Swiperを使ってスライダーアニメーションを実装する〜使い方編〜
Swiperを使ってスライダーアニメーションを実装する〜ページネーションやナビゲーションのカスタマイズ編〜

概要

Swiper

SwiperはJavaScriptライブラリで、JQueryに依存せずJavaScript単体で動作させることができます。
導入も簡単で多機能のため、多くのユーザーに使われています。

導入

Swiperを導入するには、直接ファイルをダウンロードする方法と、CDNのようにサーバに読み込み
に行く方法などがありますが、今回は直接ファイルをダウンロードする方法をご紹介します。

公式ページに移動します。

スクリーンショット 2021-02-12 13.51.28.png

② Get Startedをクリックします。

スクリーンショット 2021-02-12 13.53.03.png

③ 左サイドバーから『Download assets』をクリックし、画面右側のURLをクリックします。

スクリーンショット 2021-02-12 13.56.07.png

④ 『swiper-bundle.min.css』と『swiper-bundle.min.js』をそれぞれ開きます。
※ minは改行やスペースを省いた圧縮されたファイルのことを示します。

スクリーンショット 2021-02-13 14.14.12.png

⑤ 『swiper-bundle.min.css』と『swiper-bundle.min.js』のそれぞれのファイルから、表示されたソースコードを全て選択し、ファイル毎に分けてコピーします。
※ ソースコードが全て選択されるまで時間がかかる場合があります。また、ページネーションやバーが表示されない場合はここできちんとコピーできていない可能性があります。

スクリーンショット 2021-02-14 10.45.42.png

⑥ 『swiper-bundle.min.css』と『swiper-bundle.min.js』のそれぞれのファイル分を新規作成し、作成したファイルにコピーしたソースコードをファイル毎に分けて貼り付けます。
※ 好みによりますが、CSSはCSS、JSはJSと種別毎にフォルダを作成して分けると見やすくなり、
今後ファイルが増えてもメンテナンスしやすくなります。

スクリーンショット 2021-02-12 14.32.04.png

⑦ 公式サイトより、少し戻って左サイドバーから『Add Swiper HTML Layout』をクリックし、表示されているソースコードを自身のHTMLファイルとCSSファイルに貼り付けます。

スクリーンショット 2021-02-12 15.18.30.png

⑧ 左サイドバーから『Initialize Swiper』をクリックし、表示されているソースコードを自身のJSファイルに貼り付けます。

スクリーンショット 2021-02-12 15.24.22.png

⑨ htmlファイルを以下の例を参考に、ファイルの場所を考慮し自身の環境に合うよう編集します。
※ reset.cssから読み込むようにし、最後に自分が書いたCSSを読み込むようにします。
※ scriptタグにdefer属性をつけることで、HTMLの読み込み後に実行し、複数ある場合は上から順番に読み込まれます。

index.html
<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/swiper-bundle.min.css">
  <link rel="stylesheet" href="css/style.min.css">
  <script src="js/swiper-bundle.min.js" defer></script>
  <script src="js/script.js" defer></script>
</head>

<body>
  <!-- Slider main container -->
  <div class="swiper-container">
    <!-- Additional required wrapper -->
    <div class="swiper-wrapper">
      <!-- Slides -->
      <div class="swiper-slide">Slide 1</div>
      <div class="swiper-slide">Slide 2</div>
      <div class="swiper-slide">Slide 3</div>
      ...
    </div>
    <!-- If we need pagination -->
    <div class="swiper-pagination"></div>

    <!-- If we need navigation buttons -->
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>

    <!-- If we need scrollbar -->
    <div class="swiper-scrollbar"></div>
  </div>
</body>

</html>

完成例

簡易ではありますが、スライダーアニメーションを実装できました。

v2.gif

index.html
<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="css/swiper-bundle.min.css">
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/style.min.css">
  <script src="js/swiper-bundle.min.js" defer></script>
  <script src="js/script.js" defer></script>
</head>

<body>
  <!-- Slider main container -->
  <div class="swiper-container">
    <!-- Additional required wrapper -->
    <div class="swiper-wrapper">
      <!-- Slides -->
      <div class="swiper-slide pic1">
      </div>
      <div class="swiper-slide pic2">
      </div>
      <div class="swiper-slide pic3">
      </div>
    </div>
    <!-- If we need pagination -->
    <div class="swiper-pagination"></div>

    <!-- If we need navigation buttons -->
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>

    <!-- If we need scrollbar -->
    <div class="swiper-scrollbar"></div>
  </div>
</body>

</html>
style.scss
@mixin swp {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.swiper-container {
  width: 100%;
  height: 100vh;
  .swiper-wrapper {
    .swiper-slide {
    }
    .swiper-slide.pic1 {
      background: url("../pic/picture1.jpg");
      @include swp;
    }
    .swiper-slide.pic2 {
      background: url("../pic/picture2.jpeg");
      @include swp;
    }
    .swiper-slide.pic3 {
      background: url("../pic/picture3.jpg");
      @include swp;
    }
  }
}
script.js
const swiper = new Swiper('.swiper-container', {
  // Optional parameters
  direction: 'horizontal',
  loop: true,
  speed: 500,
  slidesPerView: 3,
  centeredSlides: true,
  spaceBetween: 10,

   autoplay: {
     delay: 2000
   },

  // If we need pagination
  pagination: {
    el: '.swiper-pagination',
  },

  // Navigation arrows
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },

  // And if we need scrollbar
  scrollbar: {
    el: '.swiper-scrollbar',
  },
});

コンソールに警告が表示された場合

.mapと呼ばれるソースマップファイルがないですと警告されています。

スクリーンショット 2021-02-12 15.10.51.png

警告されていても、動作には問題ありませんが、swiper-bundle.min.jsファイルの最後の行を消すと
警告は表示されなくなります。

スクリーンショット 2021-02-12 16.04.31.png

関連記事

Swiperを使ってスライダーアニメーションを実装する〜使い方編〜

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?