画像をスライド表示させるモーダルギャラリーは、ウェブサイトにインパクトを与えます。しかし、初心者にとっては設定が難しいと感じるかもしれません。
今回は、初心者でも簡単に扱える「lightgallery.js」を使用し、複数の画像をモーダルで表示する方法をわかりやすく解説します。しかも、jQuery不要で、軽量かつ効率的なスライドギャラリーを実現できるのが魅力です。
lightgallery.jsを使ってモーダル表示を設定するためのCSS
まず、モーダルで画像を表示するためには、lightgallery.jsが提供するCSS(lightgallery.min.css)を読み込みます。
以下のコードを使えば、ウェブページに合ったスタイルを設定しつつ、サムネイル表示エリア(#default)を作成できます。
<style type="text/css">
body{
font-family:Verdana,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W6",Osaka,"MS Pゴシック",Arial,sans-serif;
padding: 0;
margin: 0;
line-height: 1.8em;
}
h1{
font-size:16px;
text-align:center;
font-weight:normal;
padding:10px 0;
position: relative;
}
#default{
text-align: center;
}
</style>
<!-- lightgallery.js CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightgallery-js/1.2.0/css/lightgallery.min.css" />
このスタイルは、テキストのフォントや見栄えを整えつつ、モーダルギャラリーのための基本的なデザインを確立します。
HTMLコードでサムネイル表示エリアを構築
次に、HTMLコードを用いてサムネイル表示エリアを作成しましょう。ここでは3枚のサムネイル画像を用意し、各画像にリンクを設定して、クリックすると大きな画像がモーダルで表示されるようにします。
<h1>サムネイルをクリックするとスライドギャラリー画像がモーダル表示されます</h1>
<div id="default">
<a href="https://dad-union.com/wp-content/uploads/2021/07/technology-1283624_1280-768x432.jpg"><img src="https://dad-union.com/wp-content/uploads/2021/07/technology-1283624_1280-768x432.jpg" width="300" height="210" /></a>
<a href="https://dad-union.com/wp-content/uploads/2021/09/cap210928-768x512.jpg"><img src="https://dad-union.com/wp-content/uploads/2021/09/cap210928-768x512.jpg" width="300" height="210" /></a>
<a href="https://dad-union.com/wp-content/uploads/2021/08/capwp210804-300x300.jpg"><img src="https://dad-union.com/wp-content/uploads/2021/08/capwp210804-300x300.jpg" width="300" height="210" /></a>
</div>
このHTML構造では、サムネイルをクリックすると、lightgallery.jsが設定されているため、画像がスライド形式で表示されます。
JavaScriptでlightgallery.jsを動かす方法
ここまで準備が整ったら、JavaScriptでlightgallery.jsを設定して動かします。lightGallery関数を用いて、指定したidに基づきモーダル表示を行います。
lightGallery(document.getElementById(“サムネイル表示エリアのid”))を設定します。サムネイル表示エリアのid=”default”タグ内のサムネイル画像をモーダル表示する記述です。
<!-- lightgallery.js JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery-js/1.2.0/js/lightgallery.min.js"></script>
<script type="text/javascript">
lightGallery(document.getElementById("default"));
</script>
このコードを追加することで、指定したサムネイルエリアに対してlightgallery.jsのモーダル機能が有効になり、画像をクリックするとスライド表示が可能になります。
jQuery不要のlightgallery.jsで複数スライド画像をモーダル表示するデモページ
実際のデモを見たい場合は、次のリンクからlightgallery.jsのデモページにアクセスできます。初心者の方も、視覚的にどのように動作するか確認できるため、参考になります。
JjQuery不要のlightgallery.jsで複数スライド画像をモーダル表示するデモ
lightgallery.jsのソース元
以下がソース元になります。
lightgallery.js
まとめ
lightgallery.jsを使えば、複数の画像をモーダル表示するスライドギャラリーを簡単に実装できます。また、jQueryを必要としないため、サイトの読み込み速度に影響を与えにくいのも利点です。画像ギャラリーを必要とする場面で、ぜひlightgallery.jsを活用してみてください。
※流用される場合は自己責任でお願いします。
デモページheadタグ内のGoogleアナリティクスタグは流用しないで下さい。