【Modaal+Swiper】モーダルの中にスライダーを実装する方法
- 2023.01.17
- Javascript
今回はModaalとSwiperを合わせて使用して、モーダルウィンドウ上にスライダーを表示できるようにします。
実装した場合のデモ
このデモでモーダルウィンドウを開くと、その中にスライダーが設置されているのが分かると思います。
See the Pen カルーセルからモーダル起動 (Swiper&Modaal) by bst-test-js (@bst-test-js) on CodePen.
Modaalとは
次にModaalの特徴を簡単にご紹介します。
Modaalは簡単な設定だけで、モーダルウィンドウを表示できるようになるプラグインです。
使用する際にはjQueryは必要となりますが、オプションも豊富で、モーダルウィンドウを表示させたい場合は非常に役立ちます。
Modaalは以下の方法で利用できます。
- CDNを利用
- ファイルを直接ダウンロード
CDNを利用する場合
下のリンク先がCDNの一覧が記載されているページです。
ファイルを直接ダウンロードする場合
下記の2ファイルをダウンロードすればOKです。
・「dist」>「css」>「modaal.min.css」
・「dist」>「js」>「modaal.min.js」
jQueryのダウンロード
ModaalにはjQueryが必要です。
CDNを利用するか、jQuery本体をダウンロードします。
いずれの場合も下記のリンク先から可能です。
Swiperとは
まずSwiperの特徴を簡単にご紹介します。
Swiperはスライダーが簡単に実装できるJavaScriptのライブラリです。
SwiperはjQueryを必要としないので、jQueryが要件として使えない場合でも、問題なく使用できます。
更にオプションも豊富で、使用者も多いため検索しても様々な使用例が出てくるので、用途に合わせたカスタマイズもしやすいです。
Swiperは以下の方法で利用できます。
- CDNを利用
- ファイルを直接ダウンロード
CDNを利用する場合
下のリンク先がCDNの一覧が記載されているページです。
ファイルを直接ダウンロードする場合
基本的には下記の2ファイルをダウンロードすればOKです。
・swiper-bundle.min.js
・swiper-bundle.min.css
実装方法
まずはこのようにHTMLを書きます。
<div class="wrap">
<!--モーダルトリガー部分-->
<a href="#inline" class="inline"><img src="https://tech.bstinc.co.jp/assets/themes/techblog/img/sample1.png" alt=""><p>開く</p></a>
<!--スライダー部分-->
<div id="inline" style="display:none;">
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide"> <img src="https://tech.bstinc.co.jp/assets/themes/techblog/img/sample1.png" alt=""> </div>
<div class="swiper-slide"> <img src="https://tech.bstinc.co.jp/assets/themes/techblog/img/sample2.png" alt=""> </div>
<div class="swiper-slide"> <img src="https://tech.bstinc.co.jp/assets/themes/techblog/img/sample3.png" alt=""> </div>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
</div>
スライダーのHTML部分を一つ枠で囲み、IDを設定しておきます。
またここに対してstyleを設定してdisplay:noneにする必要があります。
モーダルのトリガー部分では、aタグに先ほど設定したIDをリンク先として入れます。
//Swiper設定
const mySwiper = new Swiper ('.swiper', {
loop:true,
pagination: {
el: '.swiper-pagination',
type: 'bullets',
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
//Modaall設定
$(".inline").modaal({
});
次にJSの記述をしていきますが、Swiperは通常通りの記述をして、Modaalの方も特に変わったところもなく、モーダルのトリガーとなる要素を指定しています。
まとめ
今回モーダルウィンドウの中にスライダーを表示できる方法をご紹介しました。
ている部分を変更すると、Youtubeの動画を表示させることもできます。
代表的な画像一枚をページに表示させ、モーダルウィンドウの中にスライダーで複数画像が表示できると、画像をそんなに多く設定できないページでも、多くの画像を見せることが可能になります。
便利な方法なので試してみて下さい!
-
前の記事
背景色が時間と共に変化していくコードスニペットをご紹介! 2023.01.15
-
次の記事
【デモあり】bxSliderにプログレスバーを設定する方法 2023.01.23