JavaScript でウェブページの中央に div 要素をポップアップ表示する

Tahseen Tauseef 2023年10月12日
  1. ポップアップとは
  2. ポップアップのスタイリング
  3. JavaScript でポップアップを開いたり閉じたりする
  4. jQuery を使用してポップアップを開いたり閉じたりする
JavaScript でウェブページの中央に div 要素をポップアップ表示する

このチュートリアルでは、Web ページの中央にあるポップウィンドウを開く方法について説明します。まず、この記事で取り上げるクエリは次のとおりです。

  • ポップアップとは
  • ポップアップのスタイリング
  • JavaScript でポップアップを開いたり閉じたりします
  • jQuery を使用してポップアップを開いたり閉じたりします

ポップアップとは

ポップアップは、基になるコンテンツの上にあるウィンドウで開く小さなウィンドウまたは小さなボックスです。

ポップアップを使用する主な使用例は、コンテンツ全体ではなく特定の情報に焦点を合わせ、ユーザーに確認を求めることです。または、ポップアップはモーダルとも呼ばれます。

ポップアップのスタイリング

ポップアップをメインコンテンツの上に表示したい、または少なくともメインコンテンツの上にあるように見せかける必要があるという唯一の理由から、ポップアップのスタイルを設定することが重要です。以下の例でこれを行う方法を見ていきます。

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      html,
      body {
        height: 100%;
      }
      .overlay {
        position: absolute;
        display: none;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.8);
        z-index: 2;
      }

      .popup {
        position: absolute;
        width: 50%;
        height: 50%;
        top: 25%;
        left: 25%;
        text-align: center;
        background: white;
      }
     
      .popup h3 {
        font-size: 15px;
        height: 50px;
        line-height: 50px;
        color: black;
      }
      .CloseIcon{
        cursor: pointer;
      }
    </style>
    <title>Document</title>
  </head>
  <body>
    <div class="overlay" id="overlay">
      <div class="popup">
        <div onclick="CloseModal()" class="CloseIcon">&#10006;</div>
        <h3>Popup Content</h3>
      </div>
    </div>
    <button onclick="OpenModal()">Show PopUp</button>
  </body>
</html>

この簡単な例では、ポップアップを表示するボタンを作成しました。しかし、最も重要なのは、すべてのコンテンツの上にわずかに黒い色で表示される overlay 要素があるため、ユーザーがそのコンテンツを見るのが困難になることです。

次に、popup 要素を作成し、overlay 要素と Web ページの中央の上に来るようにスタイルを設定しました。そうすることで、メインコンテンツを非表示にすることができました。

画面の中央にポップアップが開くと、ユーザーがはっきりと見ることができるのはそれだけなので、ユーザーの注意を引くことができます。ただし、overlay 要素は none に設定されているため、現時点では表示されません。

問題は、ポップアップをどのように切り替えるかです。JavaScript または jQuery を使用してこれを行うことができます。以下で両方について詳しく説明しましょう。

JavaScript でポップアップを開いたり閉じたりする

JavaScript を使用して、ポップアップスタイルプロパティを切り替えることができます。これを行うには、DOM 要素とその style プロパティにアクセスし、display タイプを none から block に変更すると、ポップアップが表示されます。

同様に、ユーザーが閉じるアイコンをクリックすると、none に戻すことができます。これを例で説明しましょう。

function OpenModal() {
  let element = document.getElementById('overlay')
  element.style.display = 'block'
}
function CloseModal() {
  let element = document.getElementById('overlay')
  element.style.display = 'none'
}

jQuery を使用してポップアップを開いたり閉じたりする

または、jQuery で同じことを繰り返すこともできます。ソースコードと必要な変更を見てみましょう。

function OpenModal() {
  $('#overlay').show();
}
function CloseModal() {
  $('#overlay').hide();
}

この例では、jQuery の showhide のメソッドを使いました。display のプロパティを none から block に変更する代わりに、showelementdisplay プロパティを削除し、同様に、hidedisplay プロパティを none に設定します。

show は、display:none または jQuery で非表示になっているアイテムでのみ機能します。CSS の visibility プロパティでは機能しません。

さらに、jQuery を使用する場合は、必ずヘッダーに jQuery CDN を追加してください(または jQuery パッケージをインストールしてください)。

関連記事 - JavaScript Popup