浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

簡単にモーダルを実装できるライブラリmodaal.js

何かボタンが押されたときや、イベントが発生した際に、表示中の画面の手前にオーバーレイで表示されるポップアップのことを”モーダル”と呼びますが、このモーダルを素のjavascriptで一から記述するのが、実はちょっと大変だったりします。

モーダルを作るには例として

  • モーダルの中身の部分のDOMの記述
  • モーダルのCSSの記述
  • モーダルの閉じるボタンなどのアイコンの準備
  • モーダルを開く/閉じるきっかけとなるイベントが呼ばれた際のDOM操作(表示/非表示)をする処理をjavascriptで記述

などといった手順が必要になります。
これを不具合なく早く作るには慣れが必要で、少々時間がかかる作業です。

なので毎回モーダルを一から作成…となると正直あまりやりたくない所ではあります。

こういった「作るのがめんどくさいけど汎用的」な機能については、実はネット上でオープンソースなどでライブラリ化されていることが多いです。

このモーダルの機能も、組み込みやすく、見た目もきれいなjQueryプラグインがリリースされています。

moddal.js

jQueryプラグインなのでjQueryと合わせて使用する必要がありますが、このプラグインを使用することで、基本的に上記の”モーダルの中身の部分のDOMの記述”以外の部分を代わりに担当してくれます。

使い方はまずGitHubからプラグインを入手します。

https://github.com/humaan/Modaal/releases

入手したファイルを解凍すると、中に”source”というフォルダがあり、その中に”js”と”css”という2つのディレクトリが入っているかと思います。

このうち、jsとcssそれぞれのフォルダの中に入っているファイルをサイトのディレクトリにコピーします。

例えば、

ドキュメントルート/path/to/js

にjavascript、

ドキュメントルート/path/to/css

にcssを配置している場合は、jsフォルダの中身を

ドキュメントルート/path/to/js

cssフォルダの中身を

ドキュメントルート/path/to/css

にコピーします。

次に、モーダルを表示させたいページに置いたmodaal.jsのcssとjsファイルを読み込ませます。

headタグ内かその他適切な場所に次のタグを挿入します。
※modaal.jsを呼び出すscriptタグはjQuery本体を呼び出すのscriptタグの後に入れます。

<script src="/path/to/js/modaal.min.js"></script>
<link type="text/css" rel="stylesheet" href="/path/to/css/modaal.min.css">

次にモーダルの中身となる部分のhtmlを記述します。

<div id="modal">
    <!-- モーダルに表示する内容を記述 -->
</div>

合わせて、モーダルを表示させるきっかけとなるaタグを用意します。

href=”” の指定の中には、モーダルを適用したい要素のidもしくはクラスなどのセレクタを記述しておきます。

<a id="modal-visible-link" href="#modal">モーダル表示</a>

最後に、scriptタグを用意し、その中に次のコードを追加します。

ここのセレクタで指定するのはモーダルを表示させるボタンの要素です。

<script>
    $("modal-visible-link").modaal();
</script>

これで、aタグ部分をクリックすると、リンクが表示されるようになります。

簡単に実装できますので、モーダルの実装を考えている方は是非試してみてください。

  • この記事いいね! (1)