モーダルウインドウを表示するトグルスイッチを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

トグルスイッチ

モーダルウインドウを表示するトグルスイッチを作る方法

モーダルウインドウを表示するトグルスイッチを作る方法を紹介します。このサンプルでは、トグルスイッチをONにするとモーダルウインドウが表示され、OFFにすると閉じる仕組みをHTML・CSS・JavaScriptで実装します。通常のボタンではなく、設定の有効・無効を切り替えるような操作感でモーダルを開閉できる点が特徴です。

会員サイトの設定画面、管理画面の案内表示、ECサイトの補足情報、初回設定の説明画面など、機能のON・OFFと詳細表示を組み合わせたい場面に利用できます。モーダルの背景部分をクリックした場合や、モーダル内の閉じるボタンを押した場合も画面を閉じ、その際にトグルスイッチはOFFへ戻るため、表示状態とスイッチの状態が一致します。

HTMLではタイトル、説明文、モーダル内の文章を変更でき、CSSではスイッチやモーダルの横幅、背景色、余白、角丸、影などを調整できます。JavaScriptではトグルスイッチ、閉じるボタン、背景クリックを連動させています。画面幅に合わせてモーダルが縮小されるため、スマートフォン・タブレット・PCで利用しやすいサンプルです。

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

デモ

お知らせ表示

トグルスイッチをONにすると、モーダルウインドウが表示されます。

トグルスイッチをONにするとモーダルが表示されます。閉じるボタンまたは背景部分をクリックすると、モーダルが閉じてスイッチもOFFへ戻ります。

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

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

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>モーダルウインドウを表示するトグルスイッチ</title>

  <!-- CSSファイル -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- トグルスイッチ全体 -->
  <div class="toggle-modal-window_wrap">

    <!-- タイトル -->
    <div class="toggle-modal-window_title">
      お知らせ表示
    </div>

    <!-- 説明文 -->
    <p class="toggle-modal-window_text">
      トグルスイッチをONにすると、モーダルウインドウが表示されます。
    </p>

    <!-- モーダル表示設定 -->
    <div class="toggle-modal-window_setting">

      <label
        class="toggle-modal-window_setting-name"
        for="toggle-modal-window-input">
        モーダルを表示する
      </label>

      <!-- トグルスイッチ -->
      <div class="toggle-modal-window_control">

        <input
          class="toggle-modal-window_input"
          id="toggle-modal-window-input"
          type="checkbox">

        <label
          class="toggle-modal-window_switch"
          for="toggle-modal-window-input"
          aria-label="モーダルウインドウの表示を切り替える">
        </label>

      </div>

    </div>

  </div>

  <!-- モーダルウインドウ -->
  <div
    class="toggle-modal-window_modal"
    id="toggle-modal-window-modal"
    role="dialog"
    aria-modal="true"
    aria-labelledby="toggle-modal-window-dialog-title"
    aria-hidden="true">

    <!-- モーダル内容 -->
    <div class="toggle-modal-window_dialog">

      <!-- モーダルタイトル -->
      <div
        class="toggle-modal-window_dialog-title"
        id="toggle-modal-window-dialog-title">
        お知らせ
      </div>

      <!-- モーダル説明文 -->
      <p class="toggle-modal-window_dialog-text">
        トグルスイッチをONにしたため、モーダルウインドウが表示されました。
      </p>

      <!-- 閉じるボタン -->
      <button
        class="toggle-modal-window_close"
        id="toggle-modal-window-close"
        type="button">
        閉じる
      </button>

    </div>

  </div>

  <!-- JavaScriptファイル -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

こちらもおすすめ


コメント