[jQuery]ポップアップで出てくる「モーダル」を作成する

jqueryでポップアップででてくるモーダルの作成手順を紹介する。

モーダル表示に役立つ情報を共有。まずは手本のシンプルモーダルの完成形はこちら。

See the Pen simple modal by Shotaro Kamimura (@shotarokamimura) on CodePen.


jQueryの下準備

今回はjQueryを使用しているので、jQueryの埋め込みを忘れずに。


jQueryの内容について

$(function(){
    $('.modal-btn').on('click',function(){
        $('.js-modal').fadeIn();
        return false;
    });
    $('.modal-close-btn').on('click',function(){
        $('.js-modal').fadeOut();
        return false;
    });
});

について説明。

「$」は関数

jQueryにおいて「$()」は関数を指す。


on()「なんらかのイベント」が発生した時に何か処理をおこなうメソッド

書き方は下記のようになる。

対象要素.on( イベント名, セレクタ, データ ,関数 )

例えば下記の形なら、

 $('.modal-btn').on('click',function(){
        $('.js-modal').fadeIn();
        return false;
    });
  • イベント名→’click’
  • セレクタとデータ→なし
  • 関数→ function() { … }

となる。

意味としては、「対象要素でクリックイベントが発生したら、function(){…}の中身を処理してね」と命令している。

今回の対象要素は、「.modal-btn」になるので、下記のコードが対象要素になる。

 <a class="modal-btn" href="">モーダルを表示</a>


fadeIn()は何かの要素フェードインさせるメソッド

fadeIn()は文字通り、何らかの要素をフェードインさせることはできる。

今回はセレクタを .js-modalに設定している。

よってHTMLでjs-modalで設定した下記の部分

<div class="modal js-modal">
        <div class="modal_background js-modal-close"></div>
        <div class="modal_content">
            <p>モーダルウィンドウ</p>
            <a class="modal-close-btn" href="">閉じる</a>
        </div>
    </div>

をフェードインさせることができる。

fadeOut()も同じような意味で、対象要素をフェードアウトさせることができる。


モーダルウィンドウをa要素で制御する場合は、戻り値を設定する必要あり

モーダルウィンドウをa要素で制御する場合は、戻り値を設定する必要がある。

今回は戻り値をfalseに設定する。

以上がモーダルの作成方法になる。


モーダルウィンドウをヘッダーメニューに使用する

今回のようなモーダルウィンドウをヘッダーメニューとして作成してみた。

https://localjapan.shotarokamimura.com/


Codepenで学ぶ様々なmodal

Codepenでmodalを検索すると様々なmodalがコード付きで出てくるのでとても勉強になる。

See the Pen Simple modal by Daniel Dormin (@ddparkas) on CodePen.


See the Pen Swinging 3D Modal Animation by Graham Clark (@Cheesetoast) on CodePen.


See the Pen Basic Modal Box by Shane Clarke (@shane-clarke) on CodePen.


modalにも様々なデザインがあって面白い。

上記のmodalを含め、様々なmodalを下記のURLで確認できる。

https://codepen.io/tag/modal?cursor=ZD0xJm89MCZwPTI=


HTML・CSSサイトの作り方の関連記事

下記の記事でHTML・CSSをウェブ上に表示させる方法からヘッダーやカラム作成、レスポンシブ対応、画像の扱いなど、HTML・CSSでのサイトの作り方をまとめている。

● HTMLとCSS、Javascriptを使ったwebサイトの作り方まとめ


コンピュータの全体像

ウェブサイト作成という分野において、コンピュータの全体像を把握することも大切だ。コンピュータの構造、ネットワークや通信プロトコル、ウェブ技術など、ベースとなる知識を持っていることでウェブサイトの制作や運営においてより高度な問題解決や効率的な開発が可能となる。

下記にコンピューターの基礎やITの全体像についてもまとめている。

● コンピューターサイエンスとITの全体像