JavaScriptで複数のモーダルを作成する方法


  1. HTMLの準備: まず、モーダルを表示するためのHTML要素を作成します。通常、モーダルは<div>要素で表現されます。各モーダルには固有のIDを割り当てることが重要です。
<div id="modal1" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>モーダル1のコンテンツ</p>
  </div>
</div>
<div id="modal2" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>モーダル2のコンテンツ</p>
  </div>
</div>
  1. CSSスタイルの追加: モーダルを表示するために、適切なスタイルを追加します。以下は基本的な例ですが、カスタマイズすることもできます。
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
  1. JavaScriptコードの追加: モーダルを表示および非表示にするためのJavaScriptコードを追加します。
// モーダルを開くための関数
function openModal(modalId) {
  var modal = document.getElementById(modalId);
  modal.style.display = "block";
}
// モーダルを閉じるための関数
function closeModal(modalId) {
  var modal = document.getElementById(modalId);
  modal.style.display = "none";
}
// 閉じるボタンをクリックしたときにモーダルを閉じる
var closeButtons = document.getElementsByClassName("close");
for (var i = 0; i < closeButtons.length; i++) {
  closeButtons[i].onclick = function() {
    var modal = this.closest(".modal");
    modal.style.display = "none";
  };
}

これで、複数のモーダルを作成して表示することができます。モーダルを開くためのトリガー(ボタンやリンクなど)を設定し、対応するモーダルのIDを指定してopenModal()関数を呼び出すことができます。また、モーダル内の閉じるボタンをクリックすることでもモーダルを閉じることができます。