swiperは相当な多機能を持つ優秀なスライドライブラリですが、今回はその中でスクロールバーが付いているケースをメモします。
ライブラリをダウンロードする
まずはライブラリをダウンロードしましょう。
CDNの利用も可能です。
CDN
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
CSSを設置する
続いてCSSを設置しましょう。
HTMLのヘッダに以下を記述します。
<link rel='stylesheet' href='css/swiper-bundle.css'>
併せて以下のCSSを記述します。
CSS
.swiper { width: 90%; height: 450px; margin: 0.5rem auto; } .swiper-slide { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; color: #fff; font-weight: bold; font-size:30px; } .swiper-slide{ height:400px; } .slide1, .slide2, .slide3, .slide4, .slide5, .slide6 { background-repeat:no-repeat; background-position:center top; background-size:cover; } .slide1 { background-image:url(img/open1.jpg); } .slide2 { background-image:url(img/open2.jpg); } .slide3 { background-image:url(img/open3.jpg); } .slide4 { background-image:url(img/open4.jpg); } .slide5 { background-image:url(img/open5.jpg); } .slide6 { background-image:url(img/open6.jpg); }
HTMLを記述する
続いてHTMLを記述しましょう。
HTML
<div id="swiper" class="swiper"> <div class="swiper-wrapper"> <div class="swiper-slide slide1"> <p>SLIDE1</p> </div> <div class="swiper-slide slide2"> <p>SLIDE2</p> </div> <div class="swiper-slide slide3"> <p>SLIDE3</p> </div> <div class="swiper-slide slide4"> <p>SLIDE4</p> </div> <div class="swiper-slide slide5"> <p>SLIDE5</p> </div> <div class="swiper-slide slide6"> <p>SLIDE6</p> </div> </div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> <div class="swiper-scrollbar"></div> </div>
slide1〜slide6までがスライドコンテンツです。
swiper-scrollbarがスクロールバーとなります。
swiper-button-prev・swiper-button-next・swiper-scrollbarを編集する場合はswiper-bundle.cssを使用します。
JavaScriptを記述する
それではJavaScriptを記述しましょう。
JS
$(function(){ const swiper01 = new Swiper("#swiper", { loop: false, centeredSlides: false, slidesPerView: 3, spaceBetween: 16, speed: 600, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev" }, scrollbar: { el: ".swiper-scrollbar", hide: false, draggable: true } }); });
loop〜speedまでは見慣れたパラメータですね。
loop | 繰り返しをする |
centeredSlides | アクティブなスライドを中央に表示 |
slidesPerView | スライダーコンテナに何枚スライドを同時表示するか |
spaceBetween | スライド間の距離を設定 |
speed | スライドの推移時間設定 |
navigationは矢印になります。
問題のスクロールバーは以下で設定しています。
scrollbar: { el: ".swiper-scrollbar", hide: false, draggable: true }
el | スクロールバーのクラス名を指定します(必須) |
hide | スクロールバーの表示設定です。true(初期値)の場合は操作時以外表示。falseは常にスクロールバーが表示。 |
draggable | スクロールバーを直接操作するかどうかを指定。false(初期値)の場合は直接操作できません。trueにすると、直接スライドを切り替え可能。 |
とにかくswiperは本当に多機能で、今回はその一部をメモしました。
今後も別の機能をメモしたいと思います。