複数モーダルウインドウを切り替えて表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

html/css/js

複数モーダルウインドウを切り替えて表示する方法

HTML・CSS・JavaScriptを使って、複数のモーダルウインドウを切り替えて表示する方法を紹介します。このサンプルでは、3つのボタンからそれぞれ異なるモーダルを開くことができ、用途に応じた内容を表示できます。お知らせ、確認画面、詳細情報などを1ページ内で切り替えて表示したい場合に便利です。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

複数モーダルウインドウ

3つのボタンから、それぞれ異なるモーダルウインドウを表示できます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <meta charset="UTF-8">

  <!-- ページタイトル -->
  <title>複数モーダルウインドウ</title>

  <!-- CSS読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- デモエリア -->
  <div class="multiple-modal-switch-window_wrap">

    <div class="multiple-modal-switch-window_title">
      複数モーダルウインドウ
    </div>

    <p class="multiple-modal-switch-window_text">
      ボタンごとに異なるモーダルウインドウを表示します。
    </p>

    <div class="multiple-modal-switch-window_buttons">

      <!-- 1つ目のモーダルを開くボタン -->
      <button class="multiple-modal-switch-window_open" type="button" data-modal-open="modal-1">
        お知らせを開く
      </button>

      <!-- 2つ目のモーダルを開くボタン -->
      <button class="multiple-modal-switch-window_open" type="button" data-modal-open="modal-2">
        確認画面を開く
      </button>

      <!-- 3つ目のモーダルを開くボタン -->
      <button class="multiple-modal-switch-window_open" type="button" data-modal-open="modal-3">
        詳細情報を開く
      </button>

    </div>

  </div>

  <!-- モーダル全体 -->
  <div class="multiple-modal-switch-window_overlay" data-modal-overlay>

    <!-- 1つ目のモーダル -->
    <div class="multiple-modal-switch-window_modal" data-modal-content="modal-1" role="dialog" aria-modal="true">

      <div class="multiple-modal-switch-window_modal-title">
        お知らせモーダル
      </div>

      <p class="multiple-modal-switch-window_modal-text">
        これは1つ目のモーダルウインドウです。
      </p>

      <button class="multiple-modal-switch-window_close" type="button" data-modal-close>
        閉じる
      </button>

    </div>

    <!-- 2つ目のモーダル -->
    <div class="multiple-modal-switch-window_modal" data-modal-content="modal-2" role="dialog" aria-modal="true">

      <div class="multiple-modal-switch-window_modal-title">
        確認モーダル
      </div>

      <p class="multiple-modal-switch-window_modal-text">
        これは2つ目のモーダルウインドウです。
      </p>

      <button class="multiple-modal-switch-window_close" type="button" data-modal-close>
        閉じる
      </button>

    </div>

    <!-- 3つ目のモーダル -->
    <div class="multiple-modal-switch-window_modal" data-modal-content="modal-3" role="dialog" aria-modal="true">

      <div class="multiple-modal-switch-window_modal-title">
        詳細情報モーダル
      </div>

      <p class="multiple-modal-switch-window_modal-text">
        これは3つ目のモーダルウインドウです。
      </p>

      <button class="multiple-modal-switch-window_close" type="button" data-modal-close>
        閉じる
      </button>

    </div>

  </div>

  <!-- JavaScript読み込み -->
  <script src="script.js"></script>

</body>
</html>

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.htmlstyle.cssscript.js を同じフォルダに配置してください。

sample/
├── index.html
├── style.css
└── script.js
  

index.html をブラウザで開くと、3つのボタンからそれぞれ異なるモーダルウインドウを表示できます。表示するモーダルの内容は index.html 内の data-modal-content を追加・変更することで自由に増減できます。閉じるボタンまたは背景部分をクリックするとモーダルを閉じることができます。


コメント