Swiper API

Swiper 9 から Swiper 10 にアップグレードする場合は、以下を参照してください Swiper 10 への移行ガイド

Swiper の完全な HTML レイアウト

<!-- Slider main container -->
<div class="swiper">
  <!-- 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>

スタイル

Swiper パッケージには、さまざまな CSS、Less、SCSS スタイルのセットが含まれています。

CSS スタイル

バンドルバージョン用の CSS スタイル

  • swiper-bundle.css - すべてのモジュールスタイル(ナビゲーション、ページネーションなど)を含むすべての Swiper スタイル
  • swiper-bundle.min.css - 前述と同じですが、ミニファイされています

バンドルバージョン用の CSS スタイル (パッケージインポート)

  • swiper/css - すべてのモジュールスタイル(ナビゲーション、ページネーションなど)を含むすべての Swiper スタイル
  • swiper/css/bundle - 前述と同じですが、ミニファイされています

コアバージョンとモジュール用の CSS スタイル(パッケージインポート)

  • swiper/css - コア Swiper スタイルのみ
  • swiper/css/a11y - A11y モジュールに必要なスタイル
  • swiper/css/autoplay - Autoplay モジュールに必要なスタイル
  • swiper/css/controller - Controller モジュールに必要なスタイル
  • swiper/css/effect-cards - Cards Effect モジュールに必要なスタイル
  • swiper/css/effect-coverflow - Coverflow Effect モジュールに必要なスタイル
  • swiper/css/effect-creative - Creative Effect モジュールに必要なスタイル
  • swiper/css/effect-cube - Cube Effect モジュールに必要なスタイル
  • swiper/css/effect-fade - Fade Effect モジュールに必要なスタイル
  • swiper/css/effect-flip - Flip Effect モジュールに必要なスタイル
  • swiper/css/free-mode - Free Mode モジュールに必要なスタイル
  • swiper/css/grid - Grid モジュールに必要なスタイル
  • swiper/css/hash-navigation - Hash Navigation モジュールに必要なスタイル
  • swiper/css/history - History モジュールに必要なスタイル
  • swiper/css/keyboard - Keyboard モジュールに必要なスタイル
  • swiper/css/manipulation - Manipulation モジュールに必要なスタイル
  • swiper/css/mousewheel - Mousewheel モジュールに必要なスタイル
  • swiper/css/navigation - Navigation モジュールに必要なスタイル
  • swiper/css/pagination - Pagination モジュールに必要なスタイル
  • swiper/css/parallax - Parallax モジュールに必要なスタイル
  • swiper/css/scrollbar - Scrollbar モジュールに必要なスタイル
  • swiper/css/thumbs - Thumbs モジュールに必要なスタイル
  • swiper/css/virtual - Virtual モジュールに必要なスタイル
  • swiper/css/zoom - Zoom モジュールに必要なスタイル

Less スタイル

Less スタイルは、コアバージョンとモジュール用の個別のスタイルです(パッケージインポート)

  • swiper/less - コア Swiper スタイルのみ
  • swiper/less/bundle - すべてのモジュールスタイル(ナビゲーション、ページネーションなど)を含むすべての Swiper スタイル
  • swiper/less/a11y - A11y モジュールに必要なスタイル
  • swiper/less/autoplay - Autoplay モジュールに必要なスタイル
  • swiper/less/controller - Controller モジュールに必要なスタイル
  • swiper/less/effect-cards - Cards Effect モジュールに必要なスタイル
  • swiper/less/effect-coverflow - Coverflow Effect モジュールに必要なスタイル
  • swiper/less/effect-creative - Creative Effect モジュールに必要なスタイル
  • swiper/less/effect-cube - Cube Effect モジュールに必要なスタイル
  • swiper/less/effect-fade - Fade Effect モジュールに必要なスタイル
  • swiper/less/effect-flip - Flip Effect モジュールに必要なスタイル
  • swiper/less/free-mode - Free Mode モジュールに必要なスタイル
  • swiper/less/grid - Grid モジュールに必要なスタイル
  • swiper/less/hash-navigation - Hash Navigation モジュールに必要なスタイル
  • swiper/less/history - History モジュールに必要なスタイル
  • swiper/less/keyboard - Keyboard モジュールに必要なスタイル
  • swiper/less/manipulation - Manipulation モジュールに必要なスタイル
  • swiper/less/mousewheel - Mousewheel モジュールに必要なスタイル
  • swiper/less/navigation - Navigation モジュールに必要なスタイル
  • swiper/less/pagination - Pagination モジュールに必要なスタイル
  • swiper/less/parallax - Parallax モジュールに必要なスタイル
  • swiper/less/scrollbar - Scrollbar モジュールに必要なスタイル
  • swiper/less/thumbs - Thumbs モジュールに必要なスタイル
  • swiper/less/virtual - Virtual モジュールに必要なスタイル
  • swiper/less/zoom - Zoom モジュールに必要なスタイル

SCSS スタイル

SCSS スタイルも、コアバージョンとモジュール用の個別のスタイルです(パッケージインポート)

  • swiper/scss - コア Swiper スタイルのみ
  • swiper/scss/bundle - すべてのモジュールスタイル(ナビゲーション、ページネーションなど)を含むすべての Swiper スタイル
  • swiper/scss/a11y - A11y モジュールに必要なスタイル
  • swiper/scss/autoplay - Autoplay モジュールに必要なスタイル
  • swiper/scss/controller - Controller モジュールに必要なスタイル
  • swiper/scss/effect-cards - Cards Effect モジュールに必要なスタイル
  • swiper/scss/effect-coverflow - Coverflow Effect モジュールに必要なスタイル
  • swiper/scss/effect-creative - Creative Effect モジュールに必要なスタイル
  • swiper/scss/effect-cube - Cube Effect モジュールに必要なスタイル
  • swiper/scss/effect-fade - Fade Effect モジュールに必要なスタイル
  • swiper/scss/effect-flip - Flip Effect モジュールに必要なスタイル
  • swiper/scss/free-mode - Free Mode モジュールに必要なスタイル
  • swiper/scss/grid - Grid モジュールに必要なスタイル
  • swiper/scss/hash-navigation - Hash Navigation モジュールに必要なスタイル
  • swiper/scss/history - History モジュールに必要なスタイル
  • swiper/scss/keyboard - Keyboard モジュールに必要なスタイル
  • swiper/scss/manipulation - Manipulation モジュールに必要なスタイル
  • swiper/scss/mousewheel - Mousewheel モジュールに必要なスタイル
  • swiper/scss/navigation - Navigation モジュールに必要なスタイル
  • swiper/scss/pagination - Pagination モジュールに必要なスタイル
  • swiper/scss/parallax - Parallax モジュールに必要なスタイル
  • swiper/scss/scrollbar - Scrollbar モジュールに必要なスタイル
  • swiper/scss/thumbs - Thumbs モジュールに必要なスタイル
  • swiper/scss/virtual - Virtual モジュールに必要なスタイル
  • swiper/scss/zoom - Zoom モジュールに必要なスタイル

Swiper の初期化

Swiper の HTML が用意できたら、次の関数を使用して初期化する必要があります。

new Swiper(swiperContainer, parameters) - オプション付きで swiper を初期化

  • swiperContainer - swiper コンテナ HTML 要素の HTMLElement または文字列 (CSS セレクター付き)。必須。
  • parameters - オブジェクト - Swiper パラメータを持つオブジェクト。オプション。
  • このメソッドは、初期化された Swiper インスタンスを返します。

const swiper = new Swiper('.swiper', {
  speed: 400,
  spaceBetween: 100,
});

Swiper を初期化すると、その HTMLElement で Swiper のインスタンスにアクセスできます。これは、Swiper の HTML コンテナ要素の swiper プロパティです。

const swiper = document.querySelector('.swiper').swiper;

// Now you can use all slider methods like
swiper.slideNext();

パラメータ

利用可能なすべてのパラメータのリストを見てみましょう

名前タイプデフォルト説明
a11y任意

a11y パラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値 true

const swiper = new Swiper('.swiper', {
  a11y: {
    prevSlideMessage: 'Previous slide',
    nextSlideMessage: 'Next slide',
  },
});
allowSlideNextブール値true

次のスライド方向 (右または下) へのスワイプを無効にするには false に設定します

allowSlidePrevブール値true

前のスライド方向 (左または上) へのスワイプを無効にするには false に設定します

allowTouchMoveブール値true

false の場合、スライドを切り替える唯一の方法は、slidePrev や slideNext などの外部 API 関数を使用することです

autoHeightブール値false

true に設定すると、スライダーラッパーは、現在アクティブなスライドの高さに合わせて高さを調整します

autoplay任意

自動再生パラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値 true

const swiper = new Swiper('.swiper', {
 autoplay: {
   delay: 5000,
 },
});
breakpointsオブジェクト

異なるレスポンシブブレークポイント(画面サイズ)に対して異なるパラメータを設定できます。すべてのパラメータがブレークポイントで変更できるわけではなく、slidesPerViewslidesPerGroupspaceBetweengrid.rowsなど、異なるレイアウトやロジックを必要としないもののみです。loopeffect のようなパラメータは機能しません

const swiper = new Swiper('.swiper', {
  // Default parameters
  slidesPerView: 1,
  spaceBetween: 10,
  // Responsive breakpoints
  breakpoints: {
    // when window width is >= 320px
    320: {
      slidesPerView: 2,
      spaceBetween: 20
    },
    // when window width is >= 480px
    480: {
      slidesPerView: 3,
      spaceBetween: 30
    },
    // when window width is >= 640px
    640: {
      slidesPerView: 4,
      spaceBetween: 40
    }
  }
})
const swiper = new Swiper('.swiper', {
  slidesPerView: 1,
  spaceBetween: 10,
  // using "ratio" endpoints
  breakpoints: {
    '@0.75': {
      slidesPerView: 2,
      spaceBetween: 20,
    },
    '@1.00': {
      slidesPerView: 3,
      spaceBetween: 40,
    },
    '@1.50': {
      slidesPerView: 4,
      spaceBetween: 50,
    },
  }
});
breakpointsBase'container' | 'window''window'

ブレークポイントのベース (ベータ版)。window または container にすることができます。window (デフォルト) に設定した場合、ブレークポイントキーはウィンドウ幅を意味します。container に設定した場合、ブレークポイントキーは swiper コンテナの幅として扱われます

cardsEffect任意

Cards-effect パラメータを持つオブジェクト

const swiper = new Swiper('.swiper', {
  effect: 'cards',
  cardsEffect: {
    // ...
  },
});
centerInsufficientSlidesブール値false

有効にすると、スライドの量が slidesPerView よりも少ない場合にスライドを中央に配置します。loop モードと grid.rows で使用することを意図していません

centeredSlidesブール値false

true の場合、アクティブなスライドは、常に左側ではなく中央に配置されます。

centeredSlidesBoundsブール値false

true の場合、アクティブなスライドは、スライダーの先頭と末尾にギャップを追加せずに中央に配置されます。centeredSlides: true が必要です。loop または pagination とともに使用することを意図していません

containerModifierClass文字列'swiper-'

さまざまなパラメータに応じて swiper コンテナに追加できるモディファイア CSS クラスの先頭

controller任意

コントローラパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値 true

const swiper = new Swiper('.swiper', {
  controller: {
    inverse: true,
  },
});
coverflowEffect任意

Coverflow-effect パラメータを持つオブジェクト。

const swiper = new Swiper('.swiper', {
  effect: 'coverflow',
  coverflowEffect: {
    rotate: 30,
    slideShadows: false,
  },
});
createElementsブール値false

有効にすると、Swiper は自動的にスライドを swiper-wrapper 要素でラップし、ナビゲーション、ページネーション、スクロールバーに必要な要素を作成します(それぞれのパラメータオブジェクトまたはブール値 true で有効になっている場合)。

creativeEffect任意

Creative-effect パラメータを持つオブジェクト

const swiper = new Swiper('.swiper', {
  effect: 'creative',
  creativeEffect: {
    prev: {
      // will set `translateZ(-400px)` on previous slides
      translate: [0, 0, -400],
    },
    next: {
      // will set `translateX(100%)` on next slides
      translate: ['100%', 0, 0],
    },
  },
});
cssModeブール値false

有効にすると、最新の CSS Scroll Snap API が使用されます。Swiper のすべての機能がサポートされているわけではありませんが、シンプルな構成ではパフォーマンスが大幅に向上する可能性があります。

有効にした場合にサポートされない機能は次のとおりです

  • キューブ効果
  • speed パラメータが効果がない場合があります
  • すべてのトランジション開始/終了関連イベント (代わりに slideChange を使用)
  • slidesPerGroup は限定的なサポートのみ
  • simulateTouch は効果がなく、マウスでの「ドラッグ」は機能しません
  • resistance は効果がありません
  • allowSlidePrev/Next
  • swipeHandler

他のエフェクト、特に3Dエフェクトと組み合わせて使用する場合は、スライドのコンテンツを<div className="swiper-slide-transform">要素でラップする必要があります。また、スライドにカスタムスタイル(背景色、ボーダー半径、ボーダーなど)を使用する場合は、swiper-slide-transform要素に設定する必要があります。

<div class="swiper">
  <div class="swiper-wrapper">
    <div class="swiper-slide">
      <!-- wrap slide content with transform element -->
      <div class="swiper-slide-transform">
        ... slide content ...
      </div>
    </div>
    ...
  </div>
</div>
<script>
const swiper = new Swiper('.swiper', {
   effect: 'flip',
   cssMode: true,
 });
</script>
cubeEffect任意

キューブエフェクトのパラメータを持つオブジェクト

const swiper = new Swiper('.swiper', {
  effect: 'cube',
  cubeEffect: {
    slideShadows: false,
  },
});
direction'horizontal' | 'vertical''horizontal'

'horizontal'または'vertical'(縦型スライダーの場合)を指定できます。

edgeSwipeDetection文字列 | ブール値false

アプリでのスワイプバック操作のためにSwiperイベントを解放するように有効にします。'prevent'に設定すると、代わりにシステムのスワイプバックナビゲーションを防止します。この機能は、「タッチ」イベント(ポインターイベントではない)でのみ機能するため、iOS/Androidデバイスでは動作しますが、ポインター(タッチ)イベントを使用するWindowsデバイスでは動作しません。

edgeSwipeThreshold数値20

アプリでスワイプバック操作のためにタッチイベントを解放する、画面の左端からの領域(ピクセル単位)

effect文字列'slide'

トランジションエフェクト。'slide''fade''cube''coverflow''flip''creative'、または'cards'を指定できます。

enabledブール値true

Swiperが最初に有効になっているかどうか。Swiperが無効になっている場合、すべてのナビゲーション要素が非表示になり、イベントやインタラクションに応答しません。

eventsPrefix文字列`swiper`

Swiper要素(Webコンポーネント)によって発行されるすべてのDOMイベントのイベント名プレフィックス

fadeEffect任意

フェードエフェクトのパラメータを持つオブジェクト

const swiper = new Swiper('.swiper', {
  effect: 'fade',
  fadeEffect: {
    crossFade: true
  },
});
flipEffect任意

フリップエフェクトのパラメータを持つオブジェクト

const swiper = new Swiper('.swiper', {
  effect: 'flip',
  flipEffect: {
    slideShadows: false,
  },
});
focusableElements文字列'input, select, option, textarea, button, video, label'

フォーカス可能な要素のCSSセレクター。これらの要素が「フォーカス」されている場合、スワイプは無効になります。

followFingerブール値true

無効にすると、スライダーは指を離したときにのみアニメーション化され、指で押さえている間は移動しません。

freeMode任意

フリーモード機能を有効にします。フリーモードのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  freeMode: true,
});

const swiper = new Swiper('.swiper', {
  freeMode: {
    enabled: true,
    sticky: true,
  },
});
grabCursorブール値false

このオプションは、デスクトップでの使いやすさを少し向上させる可能性があります。trueの場合、ユーザーはSwiperにカーソルを合わせたときに「グラブ」カーソルが表示されます。

grid任意

「複数行」スライダーを有効にするためのグリッドパラメータを持つオブジェクト。

const swiper = new Swiper('.swiper', {
  grid: {
    rows: 2,
  },
});
hashNavigation任意

スライドのハッシュURLナビゲーションを有効にします。ハッシュナビゲーションのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  hashNavigation: {
    replaceState: true,
  },
});
heightnull | 数値null

Swiperの高さ(ピクセル単位)。このパラメータを使用すると、Swiperの高さを強制できます。Swiperを非表示の状態で初期化する場合や、正しいSwiperの初期化のためにSSRおよびテスト環境でのみ役立ちます。

このパラメータを設定すると、Swiperはレスポンシブになりません。

history任意

すべてのスライドが独自のURLを持つ履歴プッシュ状態を有効にします。このパラメータでは、"slides"のようなメインのスライドURLを指定し、data-history属性を使用して各スライドのURLを指定する必要があります。

履歴ナビゲーションのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  history: {
    replaceState: true,
  },
});
<!-- will produce "slides/slide1" url in browser history -->
<div class="swiper-slide" data-history="slide1"></div>
initブール値true

インスタンスを作成するときにSwiperを自動的に初期化するかどうか。無効になっている場合は、swiper.init()を呼び出して手動で初期化する必要があります。

initialSlide数値0

初期スライドのインデックス番号。

injectStylesstring[]

シャドウDOMにテキストスタイルを挿入します。Swiper Elementでのみ使用します

injectStylesUrlsstring[]

シャドウDOMにスタイル<link>を挿入します。Swiper Elementでのみ使用します

keyboard任意

キーボードを使用したスライドのナビゲーションを有効にします。キーボードのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  keyboard: {
    enabled: true,
    onlyInViewport: false,
  },
});
lazyPreloadPrevNext数値0

プリロードする次と前のスライドの数。遅延読み込みを使用している場合にのみ適用されます。

lazyPreloaderClass文字列'swiper-lazy-preloader'

遅延プリローダーのCSSクラス名

longSwipesブール値true

長いスワイプを無効にする場合はfalseに設定します。

longSwipesMs数値300

長いスワイプ中に次/前のスライドへのスワイプをトリガーするための最小時間(ミリ秒単位)

longSwipesRatio数値0.5

長いスワイプ中に次/前のスライドへのスワイプをトリガーする比率

loopブール値false

連続ループモードを有効にする場合はtrueに設定します。

ループモードの仕組み(スライドが再配置される)の性質上、スライドの合計数は次の値以上である必要があります

  • slidesPerView + slidesPerGroup
  • slidesPerGroupに偶数(またはloopAddBlankSlidesパラメータを使用)
  • grid.rowsに偶数(またはloopAddBlankSlidesパラメータを使用)
loopAddBlankSlidesブール値true

グリッドまたはslidesPerGroupを使用しており、スライドの合計数がslidesPerGroupまたはgrid.rowsに対して偶数でない場合に、自動的に空白のスライドを追加します。

loopAdditionalSlides数値0

ループするスライドの量を増やすことができます

loopPreventsSlidingブール値true

有効にすると、スライダーがループモードでアニメーション化している間、slideNext/Prevは何も行いません。

maxBackfaceHiddenSlides数値10

スライドの合計数がここで指定した値よりも少ない場合、Swiperはスライド要素でbackface-visibility: hiddenを有効にして、Safariでの視覚的な「ちらつき」を減らします。

パフォーマンスが低下するため、大量のスライドで有効にすることは推奨されません。

modulesany[]

Swiperモジュールの配列

import Swiper from 'swiper';
import { Navigation, Pagination } from 'swiper/modules';

const swiper = new Swiper('.swiper', {
   modules: [ Navigation, Pagination ],
 });
mousewheel任意

マウスホイールを使用したスライドのナビゲーションを有効にします。マウスホイールのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  mousewheel: {
    invert: true,
  },
});
navigation任意

ナビゲーションパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
});
nestedブール値false

タッチイベントの正しいインターセプトのために、Swiperでtrueに設定します。親と同じ方向を使用するスワイパーでのみ使用してください。

noSwipingブール値true

noSwipingClassで指定されたクラスに一致する要素でのスワイプを有効/無効にします。

noSwipingClass文字列'swiper-no-swiping'

noSwipingの要素CSSクラスを指定します

noSwipingSelector文字列

noSwipingClassの代わりに、スワイプを無効にする要素を指定するために使用できます。たとえば、'input'はすべての入力でのスワイプを無効にします

normalizeSlideIndexブール値true

スライドインデックスを正規化します。

observeParentsブール値false

Swiperの親要素のミューテーションも監視する必要がある場合はtrueに設定します。

observeSlideChildrenブール値false

Swiperのスライド子要素のミューテーションも監視する必要がある場合はtrueに設定します。

observerブール値false

Swiperとその要素でMutation Observerを有効にする場合はtrueに設定します。この場合、スタイルを変更(非表示/表示など)したり、子要素(スライドの追加/削除など)を変更したりすると、Swiperが更新(再初期化)されます。

onオブジェクト

イベントハンドラーを登録します

onAnyfunction(handler)

すべてのイベントで発生するイベントリスナーを追加します

const swiper = new Swiper('.swiper', {
   onAny(eventName, ...args) {
     console.log('Event: ', eventName);
     console.log('Event data: ', args);
   }
 });
oneWayMovementブール値false

有効にすると、スワイプ方向に関係なく、スライドを前方(一方向)にのみスワイプします。

pagination任意

ページネーションのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  pagination: {
    el: '.swiper-pagination',
    type: 'bullets',
  },
});
parallax任意

視差効果のパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  parallax: true,
});
passiveListenersブール値true

モバイルデバイスでのスクロールパフォーマンスを向上させるために、可能な場合はデフォルトでパッシブイベントリスナーが使用されます。ただし、e.preventDefaultを使用する必要があり、競合が発生する場合は、このパラメータを無効にする必要があります。

preventClicksブール値true

スワイプ中のリンクでの意図しない不要なクリックを防ぐ場合は、trueに設定します。

preventClicksPropagationブール値true

スワイプ中のリンクでのクリックイベントの伝播を停止する場合は、trueに設定します。

preventInteractionOnTransitionブール値false

有効にすると、トランジション中にスワイプまたはナビゲーション/ページネーションボタンによるスライドの変更を許可しません。

resistanceブール値true

抵抗境界を無効にする場合は、falseに設定します。

resistanceRatio数値0.85

このオプションを使用すると、抵抗比率を制御できます

resizeObserverブール値true

有効にすると、コンテナのサイズ変更を検出するために(ウィンドウのサイズ変更を監視する代わりに)、スワイパーコンテナでResizeObserver(ブラウザでサポートされている場合)を使用します。

rewindブール値false

「巻き戻し」モードを有効にする場合はtrueに設定します。有効にすると、最後のスライドで「次へ」ナビゲーションボタンをクリックする(または.slideNext()を呼び出す)と、最初のスライドに戻ります。最初のスライドで「前へ」ナビゲーションボタンをクリックする(または.slidePrev()を呼び出す)と、最後のスライドに進みます。

loopモードと一緒に使用しないでください

roundLengthsブール値false

通常解像度の画面で(そのような場合)テキストがぼやけないように、スライドの幅と高さの値を丸める場合はtrueに設定します。

runCallbacksOnInitブール値true

スワイパーの初期化時にトランジション/スライド変更/開始/終了イベントを発行します。このようなイベントは、初期スライドが0でない場合、またはループモードを使用する場合に初期化時に発行されます。

scrollbar任意

スクロールバーのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値trueを指定します。

const swiper = new Swiper('.swiper', {
  scrollbar: {
    el: '.swiper-scrollbar',
    draggable: true,
  },
});
setWrapperSizeブール値false

このオプションを有効にすると、プラグインはすべてのスライドの合計サイズに等しい幅/高さをスワイパーラッパーに設定します。主に、flexboxレイアウトを適切にサポートしていないブラウザの互換性フォールバックオプションとして使用する必要があります。

shortSwipesブール値true

短いスワイプを無効にする場合は、falseに設定します。

simulateTouchブール値true

trueの場合、Swiperはタッチイベントのようにマウスイベントを受け入れます(クリックしてドラッグしてスライドを変更します)。

slideActiveClass文字列'swiper-slide-active'

現在アクティブなスライドのCSSクラス名

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueコンポーネントではサポートされていません

slideBlankClass文字列'swiper-slide-blank'

ループモードによって追加された空白のスライドのCSSクラス名(loopAddBlankSlidesが有効な場合)

Swiper React/Vueではサポートされていません

slideClass文字列'swiper-slide'

スライドのCSSクラス名

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueコンポーネントではサポートされていません

slideFullyVisibleClass文字列'swiper-slide-fully-visible'

完全に(スライド全体がビューポート内にある場合)表示されているスライドのCSSクラス名

Swiper React/Vueではサポートされていません

slideNextClass文字列'swiper-slide-next'

現在アクティブなスライドのすぐ右にあるスライドのCSSクラス名

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueではサポートされていません

slidePrevClass文字列'swiper-slide-prev'

現在アクティブなスライドのすぐ左にあるスライドのCSSクラス名

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueではサポートされていません

slideToClickedSlideブール値false

trueに設定すると、任意のスライドをクリックすると、そのスライドへのトランジションが生成されます

slideVisibleClass文字列'swiper-slide-visible'

現在/部分的に表示されているスライドのCSSクラス名

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueではサポートされていません

slidesOffsetAfter数値0

コンテナの末尾(すべてのスライドの後)に追加のスライドオフセット(ピクセル単位)を追加します。

slidesOffsetBefore数値0

コンテナの先頭(すべてのスライドの前)に追加のスライドオフセットをpx単位で追加します。

slidesPerGroup数値1

グループスライドを定義および有効にするスライド数を設定します。slidesPerView > 1 と組み合わせて使用すると便利です。

slidesPerGroupAutoブール値false

このパラメーターは、slidesPerView: 'auto' および slidesPerGroup: 1 でのみ使用することを目的としています。有効にすると、.slideNext() および .slidePrev() メソッドの呼び出し、ナビゲーションの「ボタン」クリック、および自動再生で、表示されているすべてのスライドをスキップします。

slidesPerGroupSkip数値0

このパラメータは次のように動作します。slidesPerGroupSkip0 (デフォルト) の場合、グループ化から除外されるスライドはなく、結果の動作は、この変更がない場合と同じになります。

slidesPerGroupSkip1 以上の場合、最初の X 個のスライドは単一のグループとして扱われ、後続のすべてのスライドは slidesPerGroup 値によってグループ化されます。

slidesPerView数値 | 'auto'1

1つのビューあたりのスライド数(スライダーのコンテナ上で同時に表示されるスライド数)。

slidesPerView: 'auto' は現在、grid.rows > 1 の場合の複数行モードと互換性がありません。

spaceBetween文字列 | 数値0

スライド間の距離(px単位)。

「spaceBetween」を渡すSwiperに配置される要素に "margin" CSSプロパティを使用すると、ナビゲーションが正しく機能しない場合があります。

speed数値300

スライド間の遷移時間(ミリ秒単位)

swipeHandler任意null

スワイプの唯一の利用可能なハンドラーとして機能する、ページネーションを含むコンテナのCSSセレクターまたはHTML要素の文字列。

swiperElementNodeName文字列'SWIPER-CONTAINER'

スワイパー要素のノード名。Webコンポーネントのレンダリングを検出するために使用されます。

threshold数値5

しきい値(px単位)。「タッチ距離」がこの値より低い場合、スワイパーは移動しません。

thumbs任意

サムネイルコンポーネントのパラメーターを持つオブジェクト。

const swiper = new Swiper('.swiper', {
  ...
  thumbs: {
    swiper: thumbsSwiper
  }
});
touchAngle数値45

タッチ移動をトリガーするための許容角度(度単位)。

touchEventsTarget'container' | 'wrapper''wrapper'

タッチイベントをリッスンするターゲット要素。'container'(スワイパーでタッチイベントをリッスンする場合)または'wrapper'(スワイパーラッパーでタッチイベントをリッスンする場合)を指定できます。

touchMoveStopPropagationブール値false

有効にすると、「touchmove」の伝播が停止します。

touchRatio数値1

タッチレシオ。

touchReleaseOnEdgesブール値false

スライダーのエッジ位置(先頭、末尾)でタッチイベントを解放して、ページのさらなるスクロールを許可できるようにします。この機能は、「タッチ」イベント(およびポインターイベントではない)でのみ機能するため、iOS / Androidデバイスでは機能しますが、ポインターイベントを使用するWindowsデバイスでは機能しません。また、threshold パラメーターを 0 に設定する必要があります。

touchStartForcePreventDefaultブール値false

touchstart (pointerdown) イベントに対して常にデフォルトを防止するように強制します。

touchStartPreventDefaultブール値true

無効にすると、pointerdown イベントは防止されません。

uniqueNavElementsブール値true

有効(デフォルト)で、ナビゲーション要素のパラメータが文字列(".pagination"など)として渡される場合、Swiperは最初に子要素を通してそのような要素を探します。ページネーション、前/次ボタン、およびスクロールバー要素に適用されます。

updateOnWindowResizeブール値true

Swiperは、ウィンドウサイズ変更(orientationchange)時にスライドの位置を再計算します。

urlnull | 文字列null

サーバー側でレンダリングされ、履歴が有効になっている場合に、アクティブなスライドを検出するために必要です。

userAgentnull | 文字列null

ユーザーエージェント文字列。サーバー側でレンダリングされる場合に、ブラウザ/デバイスの検出に必要です。

virtual任意

仮想スライド機能を有効にします。仮想スライドのパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値 true を指定します。

const swiper = new Swiper('.swiper', {
  virtual: {
    slides: ['Slide 1', 'Slide 2', 'Slide 3', 'Slide 4', 'Slide 5'],
  },
});
virtualTranslateブール値false

このオプションを有効にすると、スワイパーは通常どおり動作しますが、移動せず、ラッパーの実際のtranslate値は設定されません。カスタムスライド遷移を作成する必要がある場合に便利です。

watchOverflowブール値true

有効にすると、スライドが足りないためにスライドできない場合、Swiperは無効になり、ナビゲーションボタンが非表示になります。

watchSlidesProgressブール値false

この機能を有効にすると、各スライドの進行状況と可視性が計算されます(ビューポート内のスライドには追加の可視クラスが付きます)。

widthnull | 数値null

Swiperの幅(px単位)。このパラメータを使用すると、Swiperの幅を強制できます。Swiperが非表示の場合や、SSR環境およびテスト環境で正しいSwiperの初期化のために、初期化する場合にのみ便利です。

このパラメータを設定すると、Swiperはレスポンシブになりません。

wrapperClass文字列'swiper-wrapper'

スライドのラッパーのCSSクラス名。

クラスを変更する場合は、変更されたクラスを反映するようにSwiperのCSSも変更する必要があります。

Swiper React/Vueではサポートされていません

zoom任意

ズーム機能を有効にします。ズームパラメータを持つオブジェクト、またはデフォルト設定で有効にする場合はブール値 true を指定します。

const swiper = new Swiper('.swiper', {
  zoom: {
    maxRatio: 5,
  },
});

メソッドとプロパティ

スライダーを初期化すると、ヘルプフルなメソッドとプロパティを備えた初期化されたインスタンスが変数(上記の例の swiper 変数など)にあります。

プロパティ
swiper.a11y任意
swiper.activeIndex数値

現在アクティブなスライドのインデックス番号。

ループモードでは、アクティブなインデックス値は常にループされたスライドの数だけシフトされることに注意してください。

swiper.allowSlideNextブール値

このプロパティに false / true を割り当てることで、次のスライドにスライドする機能を無効/有効にします。

swiper.allowSlidePrevブール値

このプロパティに false / true を割り当てることで、前のスライドにスライドする機能を無効/有効にします。

swiper.allowTouchMoveブール値

このプロパティに false / true を割り当てることで、マウスで掴むか、(タッチスクリーンで)指で触れることでスライダーを移動させる機能を無効/有効にします。

swiper.animatingブール値

スワイパーが遷移中の場合は true

swiper.autoplay任意
swiper.cardsEffect任意
swiper.clickedIndex数値

最後にクリックされたスライドのインデックス番号。

swiper.clickedSlideHTMLElement

最後にクリックされたスライドへのリンク(HTMLElement)。

swiper.controller任意
swiper.coverflowEffect任意
swiper.creativeEffect任意
swiper.cubeEffect任意
swiper.defaults任意

Swiperのデフォルトオプション。

swiper.elHTMLElement

スライダーコンテナのHTML要素。

swiper.extendedDefaults任意

グローバルなSwiper拡張オプションを持つオブジェクト。

swiper.fadeEffect任意
swiper.flipEffect任意
swiper.freeMode任意
swiper.hashNavigation任意
swiper.height数値

コンテナの高さ。

swiper.history任意
swiper.isBeginningブール値

スライダーが最も「左」/「上」の位置にある場合は true

swiper.isEndブール値

スライダーが最も「右」/「下」の位置にある場合は true

swiper.isLockedブール値

スライドが(watchOverflowによって)「ロック」されている場合は true で、スライドの量がビューごとのスライド数より少ない場合など、スライドできません。

swiper.keyboard任意
swiper.mousewheel任意
swiper.navigation任意
swiper.originalParams任意

元の初期化パラメータを持つオブジェクト。

swiper.pagination任意
swiper.parallax任意
swiper.params任意

渡された初期化パラメータを持つオブジェクト。

swiper.previousIndex数値

以前アクティブだったスライドのインデックス番号。

swiper.progress数値

ラッパートランスレートの現在の進行状況(0から1)。

swiper.realIndex数値

ループモードで再配置されたスライドを考慮した、現在アクティブなスライドのインデックス番号。

swiper.scrollbar任意
swiper.slidesHTMLElement[]

スライドのHTML要素の配列。特定のHTML要素を取得するには、swiper.slides[1] を使用します。

swiper.snapGridnumber[]

スライドのスナップグリッド。

swiper.snapIndex数値

snapGrid 内の現在のスナップのインデックス番号。

swiper.swipeDirection'prev' | 'next'

スライドの方向。

swiper.thumbs任意
swiper.touchesオブジェクト

次のタッチイベントプロパティを持つオブジェクト。

  • swiper.touches.startX
  • swiper.touches.startY
  • swiper.touches.currentX
  • swiper.touches.currentY
  • swiper.touches.diff
swiper.translate数値

ラッパートランスレートの現在の値。

swiper.virtual任意
swiper.width数値

コンテナの幅。

swiper.wrapperElHTMLElement

ラッパーHTML要素。

swiper.zoom任意
メソッド
swiper.attachEvents()

すべてのイベントリスナーを再度アタッチします。

swiper.changeDirection(direction, needUpdate)

スライダーの方向を水平から垂直、またはその逆に変更します。

  • direction - 'horizontal' | 'vertical' - 新しい方向。指定しない場合は、自動的に反対の方向に変更されます。
  • needUpdate - boolean - swiper.update()を呼び出します。デフォルトはtrueです。
swiper.changeLanguageDirection(direction)

スライダーの言語を変更します。

  • direction - 'rtl' | 'ltr' - 新しい方向。`rtl` または `ltr` にする必要があります。
swiper.destroy(deleteInstance, cleanStyles)

スライダーインスタンスを破棄し、すべてのイベントリスナーをデタッチします。

  • deleteInstance - boolean - Swiperインスタンスを削除しない場合は、false(デフォルトはtrue)に設定します。
  • cleanStyles - boolean - true(デフォルトはtrue)に設定すると、すべてのカスタムスタイルがスライド、ラッパー、コンテナから削除されます。Swiperを破棄し、新しいオプションでまたは異なる方向で再度初期化する必要がある場合に便利です。
swiper.detachEvents()

すべてのイベントリスナーをデタッチします。

swiper.disable()

Swiperを無効にします(有効になっている場合)。Swiperが無効になっている場合、すべてのナビゲーション要素が非表示になり、イベントやインタラクションに応答しなくなります。

swiper.emit(event, args)

インスタンスでイベントを発生させます。

swiper.enable()

Swiperを有効にします(無効になっている場合)。

swiper.extendDefaults(options)

グローバルなSwiperのデフォルトを拡張します。

swiper.getTranslate()

swiperラッパーのcss3 transform translateの現在の値を取得します。

swiper.init(el)

スライダーを初期化します。

swiper.off(event, handler)

イベントハンドラーを削除します。

swiper.offAny(handler)

すべてのイベントで発生するイベントリスナーを削除します。

swiper.on(event, handler)

イベントハンドラーを追加します。

swiper.onAny(handler)

すべてのイベントで発生するイベントリスナーを追加します

swiper.once(event, handler)

発生後に削除されるイベントハンドラーを追加します。

swiper.setGrabCursor()

グラブカーソルを設定します。

swiper.setProgress(progress, speed)

Swiperトランスレートの進行状況(0から1)を設定します。0は最初のスライドの初期位置(オフセット)、1は最後のスライドの最大位置(オフセット)です。

  • progress - number - Swiperトランスレートの進行状況(0から1)。
  • speed - number - 遷移時間(ミリ秒単位)。
swiper.setTranslate(translate)

swiperラッパーにカスタムcss3 transformのトランスレート値を設定します。

swiper.slideNext(speed, runCallbacks)

次のスライドへの遷移を実行します。

  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slidePrev(speed, runCallbacks)

前のスライドへの遷移を実行します。

  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slideReset(speed, runCallbacks)

「speed」パラメータと等しい時間で、スワイパーの位置を現在アクティブなスライドにリセットします。

  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slideTo(index, speed, runCallbacks)

「speed」パラメータと等しい時間で、「index」パラメータと等しいインデックス番号のスライドへの遷移を実行します。

  • index - number - スライドのインデックス番号。
  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slideToClosest(speed, runCallbacks)

「speed」パラメータと等しい時間で、スワイパーの位置を最も近いスライド/スナップポイントにリセットします。

  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slideToLoop(index, speed, runCallbacks)

ループが有効な場合に使用する際の .slideTo と同じ動作をします。つまり、このメソッドは渡されたインデックスに一致する realIndex を持つスライドにスライドします。

  • index - number - スライドのインデックス番号。
  • speed - number - 遷移時間(ミリ秒単位)。
  • runCallbacks - boolean - false(デフォルトはtrue)に設定すると、遷移によって遷移イベントは発生しません。
swiper.slidesPerViewDynamic()

スライドごとの表示枚数を動的に計算して取得します。slidesPerView が auto に設定されている場合にのみ役立ちます。

swiper.translateTo(translate, speed, runCallbacks, translateBounds)

swiperラッパーのカスタムCSS3 transformのtranslate値をアニメーションさせます。

  • translate - number - translate値(px単位)
  • speed - number - トランジション時間(ms単位)
  • runCallbacks - boolean - falseに設定すると(デフォルトはtrue)、トランジションでイベントが発生しません。
  • translateBounds - boolean - falseに設定すると(デフォルトはtrue)、トランジション値が最小および最大translateを超えて拡張できます。
swiper.unsetGrabCursor()

グラブカーソルを解除します。

swiper.update()

スライドを手動で追加/削除した後、または非表示/表示した後、あるいはSwiperでカスタムDOMを変更した後に呼び出す必要があります。このメソッドには、個別に使用できる次のメソッドのサブコールも含まれています。

swiper.updateAutoHeight(speed)

swiperに、'speed'パラメータに等しい期間、高さを更新するように強制します(autoHeightが有効な場合)。

  • speed - number - 遷移時間(ミリ秒単位)。
swiper.updateProgress()

swiperの進捗状況を再計算します。

swiper.updateSize()

swiperコンテナのサイズを再計算します。

swiper.updateSlides()

スライドの数とそのオフセットを再計算します。JavaScriptでスライドを追加/削除した後に役立ちます。

swiper.updateSlidesClasses()

スライドと箇条書きのアクティブ/前/次のクラスを更新します。

swiper.use(modules)

実行時にSwiperにモジュールをインストールします。

イベント

Swiperには、リッスンできる便利なイベントが多数用意されています。イベントは次の2つの方法で割り当てることができます。

  1. swiper初期化時にonパラメータを使用する。

    const swiper = new Swiper('.swiper', {
      // ...
      on: {
        init: function () {
          console.log('swiper initialized');
        },
      },
    });
    
  2. swiper初期化後にonメソッドを使用する。

    const swiper = new Swiper('.swiper', {
      // ...
    });
    swiper.on('slideChange', function () {
      console.log('slide changed');
    });
    
イベントハンドラ内のthisキーワードは、常にSwiperインスタンスを指すことに注意してください。
名前引数説明
activeIndexChange(swiper)

アクティブなインデックスが変更されるとイベントが発生します。

afterInit(swiper)

初期化直後にイベントが発生します。

beforeDestroy(swiper)

Swiperが破棄される直前にイベントが発生します。

beforeInit(swiper)

初期化の直前にイベントが発生します。

beforeLoopFix(swiper)

"ループ修正"の直前にイベントが発生します。

beforeResize(swiper)

リサイズハンドラの前にイベントが発生します。

beforeSlideChangeStart(swiper)

スライド変更のトランジション開始前にイベントが発生します。

beforeTransitionStart(swiper, speed, internal)

トランジション開始前にイベントが発生します。

breakpoint(swiper, breakpointParams)

ブレークポイントが変更されるとイベントが発生します。

changeDirection(swiper)

方向が変更されるとイベントが発生します。

click(swiper, event)

ユーザーがSwiperをクリック/タップするとイベントが発生します。引数としてpointerupイベントを受け取ります。

destroy(swiper)

swiperが破棄されるとイベントが発生します。

doubleClick(swiper, event)

ユーザーがSwiperをダブルクリック/タップするとイベントが発生します。

doubleTap(swiper, event)

ユーザーがSwiperのコンテナをダブルタップするとイベントが発生します。引数としてpointerupイベントを受け取ります。

fromEdge(swiper)

Swiperが開始位置または終了位置から移動するときにイベントが発生します。

init(swiper)

Swiperの初期化直後に発生します。

swiper.on('init')構文を使用すると、init: falseパラメータを設定した場合にのみ機能することに注意してください。

const swiper = new Swiper('.swiper', {
  init: false,
  // other parameters
});
swiper.on('init', function() {
 // do something
});
// init Swiper
swiper.init();
// Otherwise use it as the parameter:
const swiper = new Swiper('.swiper', {
  // other parameters
  on: {
    init: function () {
      // do something
    },
  }
});
lock(swiper)

swiperがロックされている場合(watchOverflowが有効な場合)にイベントが発生します。

loopFix(swiper)

"ループ修正"後にイベントが発生します。

momentumBounce(swiper)

慣性バウンド時にイベントが発生します。

observerUpdate(swiper)

オブザーバーが有効になっていて、DOMの変更を検出した場合にイベントが発生します。

orientationchange(swiper)

向きの変更(例:横向き→縦向き)時にイベントが発生します。

progress(swiper, progress)

Swiperの進捗状況が変更されるとイベントが発生します。引数として、常に0から1の範囲の進捗状況を受け取ります。

reachBeginning(swiper)

Swiperが開始位置(初期位置)に到達するとイベントが発生します。

reachEnd(swiper)

Swiperが最後のスライドに到達するとイベントが発生します。

realIndexChange(swiper)

実際のインデックスが変更されるとイベントが発生します。

resize(swiper)

swiperのリサイズ操作の直前のウィンドウリサイズ時にイベントが発生します。

setTransition(swiper, transition)

swiperがアニメーションを開始するたびにイベントが発生します。引数として、現在のトランジション時間(ms単位)を受け取ります。

setTranslate(swiper, translate)

swiperのラッパーが位置を変更するとイベントが発生します。引数として、現在のtranslate値を受け取ります。

slideChange(swiper)

現在アクティブなスライドが変更されるとイベントが発生します。

slideChangeTransitionEnd(swiper)

別のスライド(次または前)へのアニメーション後にイベントが発生します。

slideChangeTransitionStart(swiper)

別のスライド(次または前)へのアニメーションの開始時にイベントが発生します。

slideNextTransitionEnd(swiper)

"slideChangeTransitionEnd"と同じですが、"前方"方向のみです。

slideNextTransitionStart(swiper)

"slideChangeTransitionStart"と同じですが、"前方"方向のみです。

slidePrevTransitionEnd(swiper)

"slideChangeTransitionEnd"と同じですが、"後方"方向のみです。

slidePrevTransitionStart(swiper)

"slideChangeTransitionStart"と同じですが、"後方"方向のみです。

slideResetTransitionEnd(swiper)

スライドを現在のスライドにリセットするアニメーションの最後にイベントが発生します。

slideResetTransitionStart(swiper)

スライドを現在のスライドにリセットするアニメーションの開始時にイベントが発生します。

sliderFirstMove(swiper, event)

最初のタッチ/ドラッグ移動でイベントが発生します。

sliderMove(swiper, event)

ユーザーがSwiper上で指をタッチして動かすとイベントが発生します。引数として、pointermoveイベントを受け取ります。

slidesGridLengthChange(swiper)

スライドグリッドが変更された場合にイベントが発生します。

slidesLengthChange(swiper)

スライドの数が変更された場合にイベントが発生します。

slidesUpdated(swiper)

スライドとそのサイズが計算および更新された後にイベントが発生します。

snapGridLengthChange(swiper)

スナップグリッドが変更された場合にイベントが発生します。

snapIndexChange(swiper)

スナップインデックスが変更されるとイベントが発生します。

tap(swiper, event)

ユーザーがSwiperをクリック/タップするとイベントが発生します。引数としてpointerupイベントを受け取ります。

toEdge(swiper)

Swiperが開始位置または終了位置に移動するとイベントが発生します。

touchEnd(swiper, event)

ユーザーがSwiperを離すとイベントが発生します。引数として、pointerupイベントを受け取ります。

touchMove(swiper, event)

ユーザーがSwiper上で指をタッチして動かすとイベントが発生します。引数として、pointermoveイベントを受け取ります。

touchMoveOpposite(swiper, event)

ユーザーがSwiper上で指をタッチして、方向パラメータと反対の方向に動かすとイベントが発生します。引数として、pointermoveイベントを受け取ります。

touchStart(swiper, event)

ユーザーがSwiperにタッチするとイベントが発生します。引数として、pointerdownイベントを受け取ります。

transitionEnd(swiper)

トランジション後にイベントが発生します。

transitionStart(swiper)

トランジションの開始時にイベントが発生します。

unlock(swiper)

swiperがロック解除された場合(watchOverflowが有効な場合)にイベントが発生します。

update(swiper)

swiper.update()の呼び出し後にイベントが発生します。

モジュール

名前タイプデフォルト説明
disabledClass文字列'swiper-button-disabled'

ナビゲーションボタンが無効になったときに追加されるCSSクラス名

enabledブール値

特定のブレークポイントでナビゲーションを有効/無効にするためにブレークポイントで使用するブール値プロパティ

hiddenClass文字列'swiper-button-hidden'

ナビゲーションボタンが非表示になったときに追加されるCSSクラス名

hideOnClickブール値false

スライダーのコンテナをクリックした後、ナビゲーションボタンの表示を切り替えます。

lockClass文字列'swiper-button-lock'

ナビゲーションボタンが無効になっているときに追加されるCSSクラス名

navigationDisabledClass文字列'swiper-navigation-disabled'

ブレークポイントによってナビゲーションが無効になっているときに、swiperコンテナに追加されるCSSクラス名

nextEl任意null

クリック後に「次へ」ボタンのように機能する要素のCSSセレクターまたはHTML要素の文字列

prevEl任意null

クリック後に「前へ」ボタンのように機能する要素のCSSセレクターまたはHTML要素の文字列

プロパティ
swiper.nextElHTMLElement

「次へ」ナビゲーションボタンのHTMLElement

swiper.prevElHTMLElement

「前へ」ナビゲーションボタンのHTMLElement

メソッド
swiper.destroy()

ナビゲーションを破棄します。

swiper.init()

ナビゲーションを初期化します。

swiper.update()

ナビゲーションボタンの状態(有効/無効)を更新します。

名前引数説明
navigationHide(swiper)

ナビゲーションが非表示になったときにイベントが発生します。

navigationNext(swiper)

ナビゲーションの次へボタンをクリックするとイベントが発生します。

navigationPrev(swiper)

ナビゲーションの前へボタンをクリックするとイベントが発生します。

navigationShow(swiper)

ナビゲーションが表示されたときにイベントが発生します。

 {
  --swiper-navigation-size: 44px;
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
}

ページネーション

ページネーションパラメータ

名前タイプデフォルト説明
bulletActiveClass文字列'swiper-pagination-bullet-active'

現在アクティブなページネーション箇条書きのCSSクラス名

bulletClass文字列'swiper-pagination-bullet'

単一のページネーション箇条書きのCSSクラス名

bulletElement文字列'span'

単一のページネーション箇条書きを表すために使用されるHTMLタグを定義します。'bullets'ページネーションタイプの場合のみです。

clickableブール値false

trueの場合、ページネーションボタンをクリックすると、適切なスライドへのトランジションが発生します。箇条書きページネーションタイプの場合のみ

clickableClass文字列'swiper-pagination-clickable'

クリック可能な場合にページネーションに設定されるCSSクラス名

currentClass文字列'swiper-pagination-current'

「分数」ページネーションで現在アクティブなインデックスを持つ要素のCSSクラス名

dynamicBulletsブール値false

多数のスライドで箇条書きページネーションを使用する場合に有効にすると便利です。これにより、同時に表示される箇条書きが少数のみに維持されます。

dynamicMainBullets数値1

dynamicBulletsが有効になっているときに表示されるメイン箇条書きの数。

el任意null

ページネーションを含むコンテナのCSSセレクターまたはHTML要素の文字列

enabledブール値

特定のブレークポイントでページネーションを有効/無効にするためにブレークポイントで使用するブール値プロパティ

formatFractionCurrentfunction(number)

分数のページネーションの現在の数をフォーマットします。関数は現在の数値を受け取り、フォーマットされた値を返す必要があります。

formatFractionTotalfunction(number)

分数のページネーションの合計数をフォーマットします。関数は合計数を受け取り、フォーマットされた値を返す必要があります。

hiddenClass文字列'swiper-pagination-hidden'

ページネーションが非アクティブになったときのCSSクラス名

hideOnClickブール値true

スライダーのコンテナをクリックした後に、ページネーションコンテナの表示/非表示を切り替えます。

horizontalClass文字列'swiper-pagination-horizontal'

水平方向のスライダーでページネーションに設定されるCSSクラス名

lockClass文字列'swiper-pagination-lock'

ページネーションが無効になっているときに設定されるCSSクラス名

modifierClass文字列'swiper-pagination-'

パラメータに応じてページネーションに追加される修飾子CSSクラス名の先頭部分

paginationDisabledClass文字列'swiper-pagination-disabled'

ブレークポイントによってページネーションが無効になっている場合に、スライダーコンテナとページネーション要素に追加されるCSSクラス名

progressbarFillClass文字列'swiper-pagination-progressbar-fill'

ページネーションのプログレスバーの塗りつぶし要素のCSSクラス名

progressbarOppositeブール値false

ページネーションのプログレスバーをスライダーのdirectionパラメータとは逆にする。つまり、水平方向のスライダーには垂直方向のプログレスバー、垂直方向のスライダーには水平方向のプログレスバーを意味します。

progressbarOppositeClass文字列'swiper-pagination-progressbar-opposite'

ページネーションのプログレスバーの逆向きのCSSクラス名

renderBulletfunction(index, className)

このパラメータを使用すると、ページネーションのドットを完全にカスタマイズできます。ここでは、ページネーションドットのindex番号と必須要素のクラス名 (className) を受け取る関数を渡す必要があります。'bullets' ページネーションタイプの場合のみ

const swiper = new Swiper('.swiper', {
  //...
  renderBullet: function (index, className) {
    return '<span class="' + className + '">' + (index + 1) + '</span>';
  }
});
renderCustomfunction(swiper, current, total)

このパラメータは、'custom' ページネーションタイプで、どのようにレンダリングする必要があるかを指定する必要がある場合に必須です。

const swiper = new Swiper('.swiper', {
  //...
  renderCustom: function (swiper, current, total) {
    return current + ' of ' + total;
  }
});
renderFractionfunction(currentClass, totalClass)

このパラメータを使用すると、「分数」ページネーションのHTMLをカスタマイズできます。'fraction' ページネーションタイプの場合のみ

const swiper = new Swiper('.swiper', {
  //...
  renderFraction: function (currentClass, totalClass) {
      return '<span class="' + currentClass + '"></span>' +
              ' of ' +
              '<span class="' + totalClass + '"></span>';
  }
});
renderProgressbarfunction(progressbarFillClass)

このパラメータを使用すると、「プログレス」ページネーションをカスタマイズできます。'progress' ページネーションタイプの場合のみ

const swiper = new Swiper('.swiper', {
  //...
  renderProgressbar: function (progressbarFillClass) {
      return '<span class="' + progressbarFillClass + '"></span>';
  }
});
totalClass文字列'swiper-pagination-total'

「分数」ページネーションの「スナップ」の総数を持つ要素のCSSクラス名

type'progressbar' | 'bullets' | 'fraction' | 'custom''bullets'

ページネーションのタイプを表す文字列。'bullets''fraction''progressbar'、または'custom'を指定できます。

verticalClass文字列'swiper-pagination-vertical'

垂直方向のスライダーでページネーションに設定されるCSSクラス名

ページネーションメソッド

プロパティ
swiper.bulletsHTMLElement[]

ページネーションドットのHTML要素の配列。特定の要素を取得するには、swiper.pagination.bullets[1]を使用します。

swiper.elHTMLElement

ページネーションコンテナ要素のHTMLElement

メソッド
swiper.destroy()

ページネーションを破棄します

swiper.init()

ページネーションを初期化します

swiper.render()

ページネーションのレイアウトをレンダリングします

swiper.update()

ページネーションの状態(有効/無効/アクティブ)を更新します

ページネーションイベント

名前引数説明
paginationHide(swiper)

ページネーションが非表示になったときに発生するイベント

paginationRender(swiper, paginationEl)

ページネーションがレンダリングされた後に発生するイベント

paginationShow(swiper)

ページネーションが表示されたときに発生するイベント

paginationUpdate(swiper, paginationEl)

ページネーションが更新されたときに発生するイベント

ページネーションCSSカスタムプロパティ

 {
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
}

スクロールバー

スクロールバーパラメータ

名前タイプデフォルト説明
dragClass文字列'swiper-scrollbar-drag'

スクロールバーのドラッグ可能な要素のCSSクラス

dragSize数値 | 'auto''auto'

スクロールバーのドラッグ可能な要素のサイズ(px単位)

draggableブール値false

スクロールバーをドラッグ可能にしてスライダーの位置を制御できるようにするには、trueに設定します。

el任意null

スクロールバーを持つコンテナのCSSセレクタまたはHTML要素を表す文字列。

enabledブール値

特定のブレークポイントでスクロールバーを有効/無効にするためにブレークポイントで使用するブール値プロパティ

hideブール値true

ユーザー操作後にスクロールバーを自動的に非表示にする

horizontalClass文字列'swiper-scrollbar-horizontal'

水平方向のスライダーでスクロールバーに設定されるCSSクラス名

lockClass文字列'swiper-scrollbar-lock'

スクロールバーが無効になっている場合の、スクロールバー要素の追加のCSSクラス

scrollbarDisabledClass文字列'swiper-scrollbar-disabled'

ブレークポイントによってスクロールバーが無効になっている場合に、スライダーコンテナとスクロールバー要素に追加されるCSSクラス名

snapOnReleaseブール値false

スクロールバーを離したときにスライダーの位置をスライドにスナップさせるには、trueに設定します。

verticalClass文字列'swiper-scrollbar-vertical'

垂直方向のスライダーでスクロールバーに設定されるCSSクラス名

スクロールバーメソッド

プロパティ
swiper.dragElHTMLElement

スクロールバーのドラッグ可能なハンドラ要素のHTMLElement

swiper.elHTMLElement

スクロールバーコンテナ要素のHTMLElement

メソッド
swiper.destroy()

スクロールバーを破棄します

swiper.init()

スクロールバーを初期化します

swiper.setTranslate()

スクロールバーのtranslateを更新します

swiper.updateSize()

スクロールバーのトラックとハンドラのサイズを更新します

スクロールバーイベント

名前引数説明
scrollbarDragEnd(swiper, event)

ドラッグ可能なスクロールバーのドラッグ終了時に発生するイベント

scrollbarDragMove(swiper, event)

ドラッグ可能なスクロールバーのドラッグ移動時に発生するイベント

scrollbarDragStart(swiper, event)

ドラッグ可能なスクロールバーのドラッグ開始時に発生するイベント

スクロールバーCSSカスタムプロパティ

 {
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
}

自動再生

自動再生パラメータ

名前タイプデフォルト説明
delay数値3000

トランジション間の遅延時間(ミリ秒単位)。このパラメータが指定されていない場合、自動再生は無効になります

特定の スライドに異なる遅延時間を指定する必要がある場合は、スライドにdata-swiper-autoplay(ミリ秒単位)属性を使用することで指定できます。

<!-- hold this slide for 2 seconds -->
<div class="swiper-slide" data-swiper-autoplay="2000">
disableOnInteractionブール値true

falseに設定すると、ユーザー操作(スワイプ)の後でも自動再生は無効にならず、操作後毎回再開されます。

pauseOnMouseEnterブール値false

有効にすると、ポインタ(マウス)がスライダーコンテナに入ったときに自動再生が一時停止します。

reverseDirectionブール値false

逆方向での自動再生を有効にします

stopOnLastSlideブール値false

このパラメータを有効にすると、最後のスライドに到達したときに自動再生が停止します(ループモードでは効果がありません)。

waitForTransitionブール値true

有効にすると、自動再生はラッパートランジションが完了するのを待ってから続行します。スライダーにトランジションがない可能性がある仮想translateを使用している場合は、無効にできます。

自動再生メソッド

プロパティ
swiper.pausedブール値

自動再生が一時停止しているかどうか

swiper.runningブール値

自動再生が有効で実行中かどうか

swiper.timeLeft数値

自動再生が一時停止している場合、次のスライドへのトランジションまでの残り時間(ミリ秒単位)が含まれます

メソッド
swiper.pause()

自動再生を一時停止します

swiper.resume()

自動再生を再開します

swiper.start()

自動再生を開始します

swiper.stop()

自動再生を停止します

自動再生イベント

名前引数説明
autoplay(swiper)

自動再生によってスライドが変更されたときに発生するイベント

autoplayPause(swiper)

自動再生が一時停止したときに発生するイベント

autoplayResume(swiper)

自動再生が再開したときに発生するイベント

autoplayStart(swiper)

自動再生が開始されたときに発生するイベント

autoplayStop(swiper)

自動再生が停止したときに発生するイベント

autoplayTimeLeft(swiper, timeLeft, percentage)

自動再生が有効になっている間、継続的にトリガーされるイベント。次のスライドへのトランジションまでの残り時間(ミリ秒単位)と、自動再生遅延に関連する時間の割合が含まれます

フリーモード

フリーモードパラメータ

名前タイプデフォルト説明
enabledブール値false

フリーモードが有効になっているかどうか

minimumVelocity数値0.02

フリーモードの運動量をトリガーするために必要な最小のtouchmove速度

momentumブール値true

有効にすると、スライドはリリース後しばらく移動し続けます。

momentumBounceブール値true

フリーモードでの運動量バウンスを無効にする場合は、falseに設定します。

momentumBounceRatio数値1

値が高いほど、運動量バウンス効果が大きくなります

momentumRatio数値1

値が高いほど、スライダーをリリース後の運動量距離が長くなります

momentumVelocityRatio数値1

値が高いほど、スライダーをリリース後の運動量速度が大きくなります

stickyブール値false

フリーモードでスライド位置へのスナップを有効にするには、有効に設定します

グリッド

グリッドパラメータ

名前タイプデフォルト説明
fill'row' | 'column''column'

'column'または'row'を指定できます。スライドを行にどのように配置するか(列ごとまたは行ごと)を定義します

ループモードで使用する場合は、スライドの数がループモードの要件で指定されていることを確認するか、loopAddBlankSlidesパラメータを有効にしてください

rows数値1

複数行レイアウトのスライドの行数

操作

操作モジュールは、スライドを操作するための便利なスライダーメソッドを追加します。スライダーCoreバージョンでのみ使用することを推奨し、スライダーReactやVueで使用することを目的としていません。

操作メソッド

メソッド
swiper.addSlide(index, slides)

指定されたインデックスに新しいスライドを追加します。slides は、HTMLElement、新しいスライドを含むHTML文字列、またはそのようなスライドの配列である可能性があります。例:

addSlide(1, '<div class="swiper-slide">Slide 10"</div>')

addSlide(1, [
 '<div class="swiper-slide">Slide 10"</div>',
 '<div class="swiper-slide">Slide 11"</div>'
]);
swiper.appendSlide(slides)

新しいスライドを末尾に追加します。slides は、HTMLElement、新しいスライドを含むHTML文字列、またはそのようなスライドの配列である可能性があります。例:

appendSlide('<div class="swiper-slide">Slide 10"</div>')

appendSlide([
 '<div class="swiper-slide">Slide 10"</div>',
 '<div class="swiper-slide">Slide 11"</div>'
]);
swiper.prependSlide(slides)

新しいスライドを先頭に追加します。slides は、HTMLElement、新しいスライドを含むHTML文字列、またはそのようなスライドの配列である可能性があります。例:

prependSlide('<div class="swiper-slide">Slide 0"</div>')

prependSlide([
 '<div class="swiper-slide">Slide 1"</div>',
 '<div class="swiper-slide">Slide 2"</div>'
]);
swiper.removeAllSlides()

すべてのスライドを削除します

swiper.removeSlide(slideIndex)

選択したスライドを削除します。slideIndex は、削除するスライドのインデックスを示す数値、またはインデックスの配列である可能性があります。

removeSlide(0); // remove first slide
removeSlide([0, 1]); // remove first and second slides
removeAllSlides();    // Remove all slides

パララックス

Swiperは、swiper/スライドのネストされた要素に対するパララックス遷移効果をサポートしています。サポートされているパララックス要素には2つの種類があります。

  • swiperの直接の子要素。このような要素のパララックス効果は、スライダーの合計進行状況に依存します。パララックス背景に役立ちます。
  • スライドの子要素。このような要素のパララックス効果は、スライドの進行状況に依存します。

パララックス効果を有効にするには、parallax:trueパラメータを渡してSwiperを初期化し、必要な要素に次のいずれか(または組み合わせ)の属性を追加する必要があります。

  • data-swiper-parallax - transform-translateパララックス遷移を有効にします。この属性は以下を受け入れます。
    • number - 進行状況に応じて要素を移動させるpx単位の値(上記の例のタイトルやサブタイトルなど)。この場合、このような要素は、スライドの位置(次または前)に応じて、±このpx値で移動します。
    • percentage - 進行状況と要素のサイズに応じて要素を移動させる("parallax-bg"など)。この場合、このような要素は、スライドの位置(次または前)に応じて、±そのサイズのこのパーセンテージ(水平方向の幅、垂直方向の高さ)で移動します。したがって、要素の幅が400pxで、data-swiper-parallax="50%"を指定した場合、±200px移動します。
  • data-swiper-parallax-x - 同様ですが、x軸方向の場合。
  • data-swiper-parallax-y - 同様ですが、y軸方向の場合。
  • data-swiper-parallax-scale - パララックス要素が「非アクティブ」(アクティブなスライドではない)状態にあるときのスケール比。
  • data-swiper-parallax-opacity - パララックス要素が「非アクティブ」(アクティブなスライドではない)状態にあるときの不透明度。
  • data-swiper-parallax-duration - パララックス要素のカスタム遷移時間。
<div class="swiper">
  <!-- Parallax background element -->
  <div
    class="parallax-bg"
    style="background-image:url(path/to/image.jpg)"
    data-swiper-parallax="-23%"
  ></div>
  <div class="swiper-wrapper">
    <div class="swiper-slide">
      <!-- Each slide has parallax title -->
      <div class="title" data-swiper-parallax="-100">Slide 1</div>
      <!-- Parallax subtitle -->
      <div class="subtitle" data-swiper-parallax="-200">Subtitle</div>
      <!-- And parallax text with custom transition duration -->
      <div
        class="text"
        data-swiper-parallax="-300"
        data-swiper-parallax-duration="600"
      >
        <p>Lorem ipsum dolor sit amet, ...</p>
      </div>
      <!-- Opacity parallax -->
      <div data-swiper-parallax-opacity="0.5">I will change opacity</div>
      <!-- Scale parallax -->
      <div data-swiper-parallax-scale="0.15">I will change scale</div>
    </div>
    ...
  </div>
</div>

パララックス パラメータ

名前タイプデフォルト説明
enabledブール値false

スライダー内で「パララックス」要素を使用する場合は有効にします。

遅延読み込み

バージョン9以降、Swiperには、ネイティブブラウザの遅延読み込み機能に依存しているため、特定の遅延読み込みAPIはありません。遅延読み込みを使用するには、画像にloading="lazy"を設定し、プリローダー要素を追加するだけです。

<div class="swiper">
  <div class="swiper-wrapper">
    <!-- Lazy image -->
    <div class="swiper-slide">
      <img src="path/to/picture-1.jpg" loading="lazy" />
      <div class="swiper-lazy-preloader"></div>
    </div>

    <!-- Lazy image with srcset -->
    <div class="swiper-slide">
      <img
        src="path/to/logo-small.png"
        srcset="path/to/logo-large.png 2x"
        loading="lazy"
      />
      <div class="swiper-lazy-preloader"></div>
    </div>
  </div>
</div>

ご覧のとおり

  • 遅延読み込み画像には、loading="lazy"属性が必要です。
  • 画像が読み込まれた後に自動的に削除されるアニメーション付きプリローダースピナーをスライドに追加します。
<div class="swiper-lazy-preloader"></div>

または、ダークレイアウト用の白いプリローダースピナー。

<div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div>

フェード効果

この効果を機能させるには、必ずeffectパラメータを'fade'に設定してください。

背景または下にあるコンテンツが表示されないようにするには、crossFadetrueに設定する必要があることに注意してください。

フェード効果パラメータ

名前タイプデフォルト説明
crossFadeブール値false

スライドのクロスフェードを有効にします

カバフロー効果

この効果を機能させるには、必ずeffectパラメータを'coverflow'に設定してください。

カバフロー効果パラメータ

名前タイプデフォルト説明
depth数値100

px単位の奥行きオフセット(スライドはZ軸で移動します)

modifier数値1

効果の乗数

rotate数値50

度単位のスライド回転

scale数値1

スライドスケール効果

slideShadowsブール値true

スライドシャドウを有効にします

stretch数値0

スライド間のスペースを拡張します(px単位)

フリップ効果

この効果を機能させるには、必ずeffectパラメータを'flip'に設定してください。

フリップ効果パラメータ

名前タイプデフォルト説明
limitRotationブール値true

端のスライドの回転を制限します

slideShadowsブール値true

スライドシャドウを有効にします

キューブ効果

この効果を機能させるには、必ずeffectパラメータを'cube'に設定してください。

キューブ効果パラメータ

名前タイプデフォルト説明
shadowブール値true

メインスライダーの影を有効にします

shadowOffset数値20

px単位のメイン影オフセット

shadowScale数値0.94

メイン影のスケール比率

slideShadowsブール値true

スライドシャドウを有効にします

カード効果

この効果を機能させるには、必ずeffectパラメータを'cards'に設定してください。

カード効果パラメータ

名前タイプデフォルト説明
perSlideOffset数値8

スライドごとのオフセット距離(px単位)

perSlideRotate数値2

スライドごとの回転角度(度単位)

rotateブール値true

カードの回転を有効にします

slideShadowsブール値true

スライドシャドウを有効にします

クリエイティブ効果

この効果を機能させるには、必ずeffectパラメータを'creative'に設定してください。

クリエイティブ効果パラメータ

名前タイプデフォルト説明
limitProgress数値1

サイドスライドの量に対する進行/オフセットを制限します。1の場合、前/次の後のすべてのスライドが同じ状態になります。2の場合、アクティブなスライドの前/後の2番目の後のすべてのスライドが同じ状態になります。

nextCreativeEffectTransform

次のスライドの変形。

{
  // Array with translate X, Y and Z values
  translate: (string | number)[];
  // Array with rotate X, Y and Z values (in deg)
  rotate?: number[];
  // Slide opacity
  opacity?: number;
  // Slide scale
  scale?: number;
  // Enables slide shadow
  shadow?: boolean;
  // Transform origin, e.g. `left bottom`
  origin?: string;
}
perspectiveブール値true

カスタム変形に3D変形(translateZrotateXrotateY)が必要な場合は、このパラメータを有効にします。

prevCreativeEffectTransform

前のスライドの変形。次のタイプのオブジェクトを受け入れます。

{
  // Array with translate X, Y and Z values
  translate: (string | number)[];
  // Array with rotate X, Y and Z values (in deg)
  rotate?: number[];
  // Slide opacity
  opacity?: number;
  // Slide scale
  scale?: number;
  // Enables slide shadow
  shadow?: boolean;
  // Transform origin, e.g. `left bottom`
  origin?: string;
}
progressMultiplier数値1

スライドの変形と不透明度を乗算できます。

shadowPerProgressブール値false

limitProgressに基づいてスライドごとに影の「不透明度」を分割します(変形の影が有効な場合のみ)。たとえば、limitProgress: 2を設定してshadowPerProgressを有効にすると、アクティブなスライドの隣の2つのスライドの影の不透明度が0.51に設定されます。このパラメータを無効にすると、アクティブなスライドを除くすべてのスライドの影の不透明度が1になります。

サムネイル

コントローラーコンポーネントに加えて、Swiperには、2つのスワイパーを同期するために使用されるコントローラーよりも、より正確な方法で追加のサムネイルスワイパーと連携するように設計されたサムネイルコンポーネントが付属しています。

サムネイルパラメータ

名前タイプデフォルト説明
autoScrollOffset数値0

どのサムネイルのアクティブスライドが端から自動的にサムネイルをスクロールするかを設定できます。たとえば、1に設定すると、最後に表示されているサムネイルがアクティブ化されると(端から1)、サムネイルが自動スクロールされます。

multipleActiveThumbsブール値true

有効にすると、複数のサムネイルスライドがアクティブになる可能性があります

slideThumbActiveClass文字列'swiper-slide-thumb-active'

アクティブ化されたサムネイルスワイパーのスライドに追加される追加のクラス

swiper任意null

サムネイルとして使用されるスワイパーのスワイパーインスタンス、またはサムネイルスワイパーを初期化するためのスワイパーパラメータを持つオブジェクト

thumbsContainerClass文字列'swiper-thumbs'

サムネイルスワイパーに追加される追加のクラス

サムネイルメソッド

プロパティ
swiper.swiper任意

サムネイルスワイパーのスワイパーインスタンス

メソッド
swiper.init()

サムネイルを初期化します

swiper.update(initial)

サムネイルを更新します

ズーム

Swiperは、ピンチジェスチャーやダブルタップによるズームイン/アウトで画像をズームインできる(単一の写真を閲覧するときにiOSで表示されるものと同様の)ズーム画像機能をサポートしています。この場合、追加のレイアウトが必要です。

<div class="swiper">
  <div class="swiper-wrapper">
    <div class="swiper-slide">
      <div class="swiper-zoom-container">
        <img src="path/to/image1.jpg" />
      </div>
    </div>
    <div class="swiper-slide">
      <div class="swiper-zoom-container">
        <img src="path/to/image2.jpg" />
      </div>
    </div>
    <div class="swiper-slide">Plain slide with text</div>
    <div class="swiper-slide">
      <!-- Override maxRatio parameter -->
      <div class="swiper-zoom-container" data-swiper-zoom="5">
        <img src="path/to/image1.jpg" />
      </div>
    </div>
  </div>
</div>
  • すべての「ズーム可能」画像は、swiper-zoom-containerクラスを持つdivでラップする必要があります。
  • デフォルトでは、imgpicture、またはcanvas要素のいずれかをズームすることを想定しています。他のカスタム要素をズームする場合は、この要素にswiper-zoom-targetクラスを追加するだけです。例:
    <div class="swiper">
      <div class="swiper-wrapper">
        <div class="swiper-slide">
          <div class="swiper-zoom-container">
            <!-- custom zoomable element -->
            <div
              class="swiper-zoom-target"
              style="background-image: url(...)"
            ></div>
          </div>
        </div>
      </div>
    </div>
    
  • ズームコンテナでdata-swiper-zoom属性を使用することで、特定のスライドのmaxRatioパラメータを上書きできます。

ズームパラメータ

名前タイプデフォルト説明
containerClass文字列'swiper-zoom-container'

ズームコンテナのCSSクラス名

limitToOriginalSizeブール値false

trueに設定すると、画像は元のサイズの100%を超えて拡大縮小されません

maxRatio数値3

画像の最大ズーム倍率

minRatio数値1

画像の最小ズーム倍率

toggleブール値true

スライドのダブルタップによるズームインを有効/無効にします

zoomedSlideClass文字列'swiper-slide-zoomed'

ズームインされたコンテナのCSSクラス名

ズームメソッド

プロパティ
swiper.enabledブール値

ズームモジュールが有効かどうか

swiper.scale数値

現在の画像スケール比

メソッド
swiper.disable()

ズームモジュールを無効にします

swiper.enable()

ズームモジュールを有効にします

swiper.in(ratio)

現在アクティブなスライドの画像をズームインします。オプションで、カスタムズーム比を受け入れます

swiper.out()

現在アクティブなスライドの画像をズームアウトします

swiper.toggle(event)

現在アクティブなスライドの画像のズームを切り替えます

ズームイベント

名前引数説明
zoomChange(swiper, scale, imageEl, slideEl)

ズーム変更時にイベントが発火します

キーボードコントロール

キーボードコントロールパラメータ

名前タイプデフォルト説明
enabledブール値false

キーボードコントロールを有効にするには、trueに設定します

onlyInViewportブール値true

有効にすると、現在ビューポート内にあるスライダーを制御します

pageUpDownブール値true

有効にすると、Page UpキーとPage Downキーによるキーボードナビゲーションが有効になります

キーボード操作

プロパティ
swiper.enabledブール値

キーボード操作が有効かどうか

メソッド
swiper.disable()

キーボード操作を無効にする

swiper.enable()

キーボード操作を有効にする

キーボードイベント

名前引数説明
keyPress(swiper, keyCode)

キーが押されたときに発生するイベント

マウスホイール操作

マウスホイール操作パラメーター

名前タイプデフォルト説明
enabledブール値false

マウスホイール操作を有効にするにはtrueを設定します

eventsTarget任意'container'

マウスホイールイベントを受け付けるコンテナのCSSセレクターまたはHTML要素の文字列。デフォルトはswiperです

forceToAxisブール値false

マウスホイールのスワイプを軸に強制するには、trueを設定します。したがって、水平モードでは、マウスホイールは水平方向のマウスホイールスクロールでのみ機能し、垂直モードでは垂直方向のスクロールでのみ機能します。

invertブール値false

スライド方向を反転するには、trueを設定します

noMousewheelClass文字列'swiper-no-mousewheel'

このクラスを持つ要素のスクロールは無視されます

releaseOnEdgesブール値false

trueに設定すると、swiperが端の位置(先頭または末尾)にある場合、swiperはマウスホイールイベントを解放し、ページスクロールを許可します

sensitivity数値1

マウスホイールデータの乗数。マウスホイールの感度を調整できます

thresholdDeltanull | 数値null

swiperのスライド変更をトリガーするための最小マウスホイールスクロールデルタ

thresholdTimenull | 数値null

swiperのスライド変更をトリガーするための最小マウスホイールスクロール時間デルタ(ミリ秒単位)

マウスホイール操作メソッド

プロパティ
swiper.enabledブール値

マウスホイール操作が有効かどうか

メソッド
swiper.disable()

マウスホイール操作を無効にする

swiper.enable()

マウスホイール操作を有効にする

マウスホイールイベント

名前引数説明
scroll(swiper, event)

マウスホイールスクロールで発生するイベント

仮想スライド

仮想スライドモジュールを使用すると、DOM内に必要な数のスライドのみを保持できます。特に、DOMツリーが重いスライドや画像が多い場合は、パフォーマンスとメモリの問題に関して非常に役立ちます。

仮想スライドの実装に従って、GridモジュールとslidesPerView: 'auto'では動作しないことに注意してください

仮想スライドパラメーター

名前タイプデフォルト説明
addSlidesAfter数値0

アクティブなスライドの後に事前にレンダリングするスライドの量を増やします

addSlidesBefore数値0

アクティブなスライドの前に事前にレンダリングするスライドの量を増やします

cacheブール値true

レンダリングされたスライドのHTML要素のDOMキャッシュを有効にします。レンダリングされると、キャッシュに保存され、そこから再利用されます。

enabledブール値false

仮想スライドが有効かどうか

renderExternalfunction(data)

外部レンダリングのための関数(例:React.jsやVue.jsのようなDOM操作と状態を処理するための他のライブラリを使用)。引数として、次のプロパティを持つdataオブジェクトを受け取ります

  • offset - スライドの左/上オフセット(px)
  • from - レンダリングが必要な最初のスライドのインデックス
  • to - レンダリングが必要な最後のスライドのインデックス
  • slides - レンダリングされるスライドアイテムの配列
renderExternalUpdateブール値true

有効(デフォルト)の場合、renderExternalが呼び出された直後にSwiperレイアウトを更新します。非同期にレンダリングするレンダリングライブラリで使用する場合は、無効にしてSwiperを手動で更新すると便利です。

renderSlidefunction(slide, index)

スライドをレンダリングする関数。引数として、slides配列の現在のスライドアイテムと現在のスライドのインデックス番号を受け取ります。関数は、swiperスライドまたはスライドHTML要素の外側のHTMLを返す必要があります。

slidesT[][]

スライドの配列

仮想スライドメソッド

プロパティ
swiper.cacheオブジェクト

キャッシュされたスライドHTML要素を持つオブジェクト

swiper.from数値

レンダリングされた最初のスライドのインデックス

swiper.slidesT[]

virtual.slidesパラメーターで渡されたスライドアイテムの配列

swiper.to数値

レンダリングされた最後のスライドのインデックス

メソッド
swiper.appendSlide(slide)

スライドを追加します。slidesは、単一のスライドアイテムまたはそのようなスライドの配列にすることができます。

Coreバージョンのみ(React&amp; Vueでは、スライド配列/データ/ソースを変更する必要があります)

swiper.prependSlide(slide)

スライドを先頭に追加します。slidesは、単一のスライドアイテムまたはそのようなスライドの配列にすることができます。

Coreバージョンのみ(React&amp; Vueでは、スライド配列/データ/ソースを変更する必要があります)

swiper.removeAllSlides()

すべてのスライドを削除します

Coreバージョンのみ(React&amp; Vueでは、スライド配列/データ/ソースを変更する必要があります)

swiper.removeSlide(slideIndexes)

特定のスライドまたは複数のスライドを削除します。slideIndexesは、削除するスライドインデックスの数値、またはインデックスの配列にすることができます。

Coreバージョンのみ(React&amp; Vueでは、スライド配列/データ/ソースを変更する必要があります)

swiper.update(force)

仮想スライドの状態を更新します

仮想スライドDOM

バージョン9以降、Swiper仮想スライドは、DOMに元々レンダリングされたスライドで動作できます。初期化時に、DOMから削除し、キャッシュしてから、必要なものを再利用します

<div class="swiper">
  <div class="swiper-wrapper">
    <div class="swiper-slide">Slide 1</div>
    <div class="swiper-slide">Slide 2</div>
    ...
    <div class="swiper-slide">Slide 100</div>
  </div>
</div>
<script>
  const swiper = new Swiper('.swiper', {
    virtual: {
      enabled: true,
    },
  });
</script>

ハッシュナビゲーション

ハッシュナビゲーションは、特定のハッシュを持つ特定ののスライドへのリンクを持つことを目的としており、特定の開いたスライドでページをロードできるようにします。

これを機能させるには、hashNavigation:trueパラメーターを渡して有効にし、data-hash属性にスライドハッシュを追加する必要があります

<div class="swiper">
  <div class="swiper-wrapper">
    <div class="swiper-slide" data-hash="slide1">Slide 1</div>
    <div class="swiper-slide" data-hash="slide2">Slide 2</div>
    <div class="swiper-slide" data-hash="slide3">Slide 3</div>
    <div class="swiper-slide" data-hash="slide4">Slide 4</div>
    <div class="swiper-slide" data-hash="slide5">Slide 5</div>
    ...
  </div>
</div>
const swiper = new Swiper('.swiper', {
  //enable hash navigation
  hashNavigation: true,
});

ハッシュナビゲーションパラメーター

名前タイプデフォルト説明
getSlideIndexfunction(swiper, hash)

ハッシュでDOM内のスライドを見つけることが不可能な場合(例:まだレンダリングされていない場合)、仮想スライドで使用するように設計されています

replaceStateブール値false

履歴に追加する代わりに、現在のURL状態を新しいURL状態に置き換えるために、hashnavに加えて機能します

watchStateブール値false

ドキュメントロケーションに直接ハッシュを設定したり、ブラウザの履歴を使用してスライド間のナビゲーションを(hashnavが有効な場合)有効にするには、trueに設定します

ハッシュナビゲーションイベント

名前引数説明
hashChange(swiper)

ウィンドウのハッシュ変更で発生するイベント

hashSet(swiper)

swiperがハッシュを更新したときに発生するイベント

履歴ナビゲーション

履歴ナビゲーションパラメーター

名前タイプデフォルト説明
enabledブール値false

履歴プラグインを有効にします。

keepQueryブール値false

ブラウザのURLを変更するときにクエリパラメーターを保持します。

key文字列'slides'

スライドのURLキー

replaceStateブール値false

履歴に追加する代わりに、現在のURL状態を新しいURL状態に置き換えるために、hashnavまたは履歴に加えて機能します

root文字列''

Swiperページルート。ルートWebサイトページ以外でSwiper履歴モードを使用する場合に指定すると便利です。たとえば、https://my-website.com/またはhttps://my-website.com/subpage/または/subpage/にすることができます

コントローラー

コントローラーパラメーター

名前タイプデフォルト説明
by'slide' | 'container''slide'

別のスライダーを制御する方法を定義します。スライドごとに(他のスライダーのグリッドに関して)またはすべてのスライド/コンテナ(合計スライダーのパーセンテージに応じて)に依存します。

control任意

このSwiperで制御する必要がある別のSwiperインスタンスまたはSwiperインスタンスの配列をここに渡します。また、Swiper要素のCSSセレクターの文字列、またはSwiper要素のHTMLElementも受け入れます

inverseブール値false

trueを設定すると、制御は逆方向になります

コントローラーメソッド

プロパティ
swiper.control任意

このSwiperで制御する必要がある別のSwiperインスタンスまたはSwiperインスタンスの配列をここに渡します

アクセシビリティ (a11y)

アクセシビリティパラメーター

名前タイプデフォルト説明
containerMessagenull | 文字列null

外側のswiperコンテナのスクリーンリーダーのメッセージ

containerRoleDescriptionMessagenull | 文字列null

外側のswiperコンテナの役割を説明するスクリーンリーダーのメッセージ

enabledブール値true

A11yを有効にします

firstSlideMessage文字列'これが最初のスライドです'

swiperが最初のスライドにある場合の前のボタンのスクリーンリーダーのメッセージ

idnull | 文字列 | 数値null

swiper-wrapperに設定するid属性の値。nullの場合は自動的に生成されます

itemRoleDescriptionMessagenull | 文字列null

スライド要素の役割を説明するスクリーンリーダーのメッセージ

lastSlideMessage文字列'これが最後のスライドです'

swiperが最後のスライドにある場合の次のボタンのスクリーンリーダーのメッセージ

nextSlideMessage文字列'次のスライド'

次のボタンのスクリーンリーダーのメッセージ

notificationClass文字列'swiper-notification'

A11y通知のCSSクラス名

paginationBulletMessage文字列'スライドへ移動'{{index}}'

単一のページネーションブレットのスクリーンリーダーのメッセージ

prevSlideMessage文字列'前のスライド'

前のボタンのスクリーンリーダーのメッセージ

slideLabelMessage文字列'{{index}} / {{slidesLength}}'

スライド要素のラベルを説明するスクリーンリーダーのメッセージ

slideRole文字列'group'

swiperスライドのrole属性の値

カスタムビルド

Swiperのカスタムバージョンを作成するには、2つのオプションがあります。

JSモジュールの使用

プロジェクトでJSモジュールをサポートするバンドラーを使用する場合は、必要なモジュールのみをインポートできます

// Import Swiper and modules
import Swiper from 'swiper';
import { Navigation, Pagination, Scrollbar } from 'swiper/modules';

// Now you can use Swiper
const swiper = new Swiper('.swiper', {
  // Install modules
  modules: [Navigation, Pagination, Scrollbar],
  speed: 500,
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
  // ...
});

次のモジュールがエクスポートされています

  • Virtual - 仮想スライドモジュール
  • Keyboard - キーボード操作モジュール
  • Mousewheel - マウスホイール操作モジュール
  • Navigation - ナビゲーションモジュール
  • Pagination - ページネーションモジュール
  • Scrollbar - スクロールバーモジュール
  • Parallax - パララックスモジュール
  • FreeMode - フリーモードモジュール
  • Grid - グリッドモジュール
  • Manipulation - スライド操作モジュール(Coreバージョンのみ)
  • Zoom - ズームモジュール
  • Controller - コントローラーモジュール
  • A11y - アクセシビリティモジュール
  • History - 履歴ナビゲーションモジュール
  • HashNavigation - ハッシュナビゲーションモジュール
  • Autoplay - 自動再生モジュール
  • EffectFade - フェードエフェクトモジュール
  • EffectCube - キューブエフェクトモジュール
  • EffectFlip - フリップエフェクトモジュール
  • EffectCoverflow - カバフローエフェクトモジュール
  • EffectCards - カードエフェクトモジュール
  • EffectCreative - クリエイティブエフェクトモジュール
  • Thumbs - サムズモジュール

ビルドスクリプトの使用

Swiperには、必要なモジュールのみを含めることができるカスタムライブラリバージョンをビルドできるgulpビルダーが付属しています。以下が必要です。

  1. Swiper GitHubリポジトリをダウンロードし、ローカルフォルダに解凍します。

  2. Node.jsをインストールします(インストールされていない場合)。

  3. 次に、必要な依存関係をインストールする必要があります。ダウンロードして解凍したSwiperリポジトリのあるフォルダに移動し、ターミナルで実行します。

    $ npm install
    
  4. scripts/build-config.jsファイルを開きます。

    module.exports = {
      // remove modules you don't need
      modules: [
        'virtual',
        'keyboard',
        'mousewheel',
        'navigation',
        'pagination',
        'scrollbar',
        'parallax',
        'zoom',
        'controller',
        'a11y',
        'history',
        'hash-navigation',
        'autoplay',
        'thumbs',
        'free-mode',
        'grid',
        'manipulation',
        'effect-fade',
        'effect-cube',
        'effect-flip',
        'effect-coverflow',
        'effect-creative',
        'effect-cards',
      ],
    };
    
  5. これで、Swiperのカスタムバージョンをビルドする準備ができました。

    $ npm run build:prod
    
  6. 以上です。生成されたCSSファイルとJSファイル、およびそれらのminifyバージョンは、dist/フォルダにあります。

TypeScript定義

Swiperは完全に型付けされており、Swiper型とSwiperOptions型をエクスポートします。

// main.ts
import Swiper from 'swiper';
import { SwiperOptions } from 'swiper/types';

const swiperParams: SwiperOptions = {
  slidesPerView: 3,
  spaceBetween: 50,
};

const swiper = new Swiper('.swiper', swiperParams);

すべての型、オプション、プロパティ、およびメソッドについては、自動生成されたTypeScript定義エクスプローラーを確認することもできます。