2024/09/17
【Swiper】カバーフロースライダーの作り方
コーポレートサイトやLPにおいて、画像などのスライダー機能をよくみかけます。 簡単にスライダーを実装できるプラグインは様々なものがありますが、今回は利用者が多く人気の「Swiper」についてご紹介します。
Swiperを使用するメリット
最大の特徴としては「jQueryに依存しない」ということです。jQueryを読み込む必要がないため、それらを使用するその他のスライダーライブラリよりも高速で読み込むことができますし、jQueryが使用出来ない場合にも使うことが可能です。
またその他にも以下のようなメリットがあります。
- レスポンシブに対応
- スワイプしやすい(slickに比べて)
- 更新頻度が高い
- カスタマイズ性が高い
では以下より実装例をご説明します。
サンプル
See the Pen
【Swiper】カバーフロースライダー by qam (@qam)
on CodePen.
今回は以下条件のスライダーを実装してみます。
- カバーフロー
- スライドを繰り返す
- スライドを自動で切り替える
Swiperの導入(CDN)
導入方法は様々ありますが、今回はCDNを使った方法で制作していきます。
以下コードをheadタグに記述します。
<!-- SwiperのCSSファイル --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> <!-- SwiperのJavaScriptファイル --> <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
html
ページネーションやボタンの設置も考えて以下のコードを記述します。
<!-- スライダーのコンテナ --> <div class="swiper"> <!-- 必要に応じたwrapper --> <div class="swiper-wrapper"> <!-- スライド --> <div class="swiper-slide slide-orange">Slide 1</div> <div class="swiper-slide slide-blue">Slide 2</div> <div class="swiper-slide slide-pink">Slide 3</div> <div class="swiper-slide slide-green">Slide 4</div> </div> <!-- ページネーション --> <div class="swiper-pagination"></div> <!-- ナビボタン --> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div>
CSS
デフォルトでは背景色や高さ、横幅の指定がなく分かりづらいため調整していきます。
.swiper-wrapper {
/* wrapperのサイズを調整 */
width: 100%;
height: 300px;
}
.swiper-slide {
/* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
color: #ffffff;
width: 100%;
height: 100%;
text-align: center;
line-height: 300px;
}
.swiper-slide.slide-orange {
background-color: #ff7f00;
}
.swiper-slide.slide-blue {
background-color: #000bff;
}
.swiper-slide.slide-pink {
background-color: #ff00ff;
}
.swiper-slide.slide-green {
background-color: #00ff00;
}
Javascript
以下が基本となるJSのコードです。最低限の記述です。初期化とも呼ばれます。
const swiper = new Swiper(".swiper", {});
次にループやページネーション、ナビボタンなどのオプション設定を追加していきます。
const swiper = new Swiper('.swiper', {
// ループを有効化
loop: true,
// ナビボタン
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// ページネーション
pagination: {
el: '.swiper-pagination', // クリックによるスライド切り替えを有効にする
clickable: true, // クリックによるスライド切り替えを有効にする
},
// 自動再生
autoplay: {
delay: 5000, // 5秒ごとにスライドを切り替える
disableOnInteraction: false, //ユーザーがスライダーを操作した時、自動再生は止めない
},
grabCursor: true, //swiperにカーソルを置いたときに指のカーソルが表示される
centeredSlides: true, //アクティブなスライドが中央に配置される
slidesPerView: "2", // 1ビューあたりのスライド数
// カバーフロー
effect: "coverflow",
});
まとめ
いかがでしたでしょうか?coverflowEffectオプションを使用することで、カバフロースライダーのスライドの角度や拡大率、影の有無等様々なカスタマイズをすることも可能です。ぜひ試してみてください。
コーディング業務のご依頼、ご相談の詳細についてはこちらから
最後までお読みいただき、ありがとうございました。
よろしければシェアしていただければ幸いです。
| 次の記事へ | 前の記事へ |
WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。




