JavaScriptでポップアップを表示する方法を解説!
WEBサイトで見かける画像やテキストが一つのまとまりでふわっと現れたりするポップアップというものがあります。サイト内で実装すると見た目が良くなる機能のひとつです。この記事ではJavaScriptでポップアップを表示する方法をサンプルコード付きで解説しています。
JavaScriptでポップアップ(モーダルウィンドウ)を表示したい
WEBサイトなどで画像やテキストが一つのまとまりでふわっと現れたりするポップアップを見かけたことをある人も多いのではないでしょうか?
ポップアップをWEBサイトで実装したいけど、難しそう、、、と思っている人もいるかもしれませんが、JavaScriptを使うことで意外と簡単に実装することができます。
今回はJavaScriptでポップアップを表示する方法をサンプルコード付きで解説していきます。
JavaScriptでポップアップ(モーダルウィンドウ)を表示する方法
今回はボタンを設置して、そのボタンをクリックすると表示されるポップアップを実装していきます。
index.css
.popup {
opacity: 0;
visibility: hidden;
}
popup
クラスの要素にopacity: 0;
とvisibility: hidden;
を指定することで初期状態ではポップアップが表示されておらず、ボタンだけが表示されているようにします。
index.css
.popup.is-show{
opacity: 1;
visibility: visible;
}
popup
クラス要素にis-show
クラスが与えられたときにopacity: 1;
とvisibility: visible;
でポップアップを表示するようにします。
JavaScriptでボタンがクリックされるとpopup
クラスの要素にis-show
クラスを与えるようにしていきます。
index.js
// ポップアップのセッティング処理
function popupSetting(){
let popup = document.getElementById('popup');
if(!popup) return;
let bgBlack = document.getElementById('bg-black');
let closeBtn = document.getElementById('close-btn');
let showBtn = document.getElementById('show-btn');
// ポップアップ
popUp(bgBlack);
popUp(closeBtn);
popUp(showBtn);
// ポップアップ処理
function popUp(elem){
if(!elem) return;
elem.addEventListener('click', function(){
popup.classList.toggle('is-show');
});
}
}
// ポップアップのセッティング
popupSetting();
popupSetting
関数でポップアップの機能を実装しています。この関数の中身の処理を解説していきます。
getElementById
メソッドでid
属性がpopup
の要素を取得しています。関数が実行された場合でも、HTML側でid
属性がpopup
の要素が見つからなかった場合はそれ以降の処理を実行しないようにif文で制御しています。
さらにid
属性がbg-black
,close-btn
,show-btn
である3つの要素をそれぞれ取得します。
この3つの要素に対して、popUp
関数でクリックイベントを設定しています。
クリックイベントの中身の処理でpopup
要素に対して、is-show
クラスを付け外しすることで、ポップアップの機能を実現しています。
また、bg-black
,close-btn
,show-btn
要素に対してis-show
クラスを付け外しして、ポップアップを表示したり非表示にしたりする機能を実装していますが、ポップアップが非表示の場合はshow-btn
要素しか表示されていないので、実際bg-black
,close-btn
要素はポップアップを閉じる処理しか機能しません。
まとめ
JavaScriptでポップアップを表示する方法を解説してきました。サンプルコードを参考にしてぜひカスタマイズしてみてください。そうすると、より深い理解ができ、思い通りのポップアップを実装することができるようになるでしょう。