javascriptでモーダルウィンドウ
javascriptでモーダルウィンドウ:
javascriptでモーダルウィンドウのやり方がわかったので忘備録として
モーダルウィンドウっていってもすることはボタンを押されたりしたらモーダルウィンドウを表示するだけ、要はdisplayをnoneにしたりblockにしたりするだけで実装できる。
モーダルウィンドウの部分を作っていく
みたいにする
表示の確認をしたい場合はdisplay:noneをけしてみてください。
こんな感じに表示されると思います。
それで次にボタンを作ります。
そしてjsでこのボタンが押されたときにmodalのdisplayをblockにします。
jsファイルに
こんな感じに書けばモーダルがない状態でボタンを押すとモーダルウィンドウが出てくると思います。
モーダルを消す機能を追加するために
さっきのhtmlを
こうします。
このcloseボタンが押された時にmodalのdisplayをnoneにします。
jsファイルに
と書き加えます。
これでモーダルウィンドウの表示、非表示ができるようになりました。
またボタンではなく外側の黒い部分を押してもモーダルが消えるようにしたい場合は
お加えればOK
後はデザインを適当に加えれば完成です。
初めに
javascriptでモーダルウィンドウのやり方がわかったので忘備録として
とりあえず
モーダルウィンドウっていってもすることはボタンを押されたりしたらモーダルウィンドウを表示するだけ、要はdisplayをnoneにしたりblockにしたりするだけで実装できる。
実装していく
モーダルウィンドウの部分を作っていく<div id="modal" class="modal"> <div class="modal-content"> <div class="modal-body"> <h1>hello</h1> </div> </div> </div>
.modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; height: 100%; width: 100%; overflow: auto; background-color: rgba(0,0,0,0.5); } .modal-content{ background-color: white; width: 500px; margin: 40% auto; }
表示の確認をしたい場合はdisplay:noneをけしてみてください。
こんな感じに表示されると思います。
それで次にボタンを作ります。
<input type="button" id="btn" value='click me'>
jsファイルに
var btn = document.getElementById('btn'); var modal = document.getElementById('modal'); btn.addEventListener('click', function() { modal.style.display = 'none'; }
モーダルを消す機能を追加するために
さっきのhtmlを
<div id="modal" class="modal"> <div class="modal-content"> <div class="modal-body"> <h1>hello</h1> <input type="button" id="closeBtn" value="close"> <= 追加 </div> </div> </div>
このcloseボタンが押された時にmodalのdisplayをnoneにします。
jsファイルに
var closeBtn = document.getElementById('closeBtn'); closeBtn.addEventListener('click', function() { modal.style.display = 'none'; })
これでモーダルウィンドウの表示、非表示ができるようになりました。
またボタンではなく外側の黒い部分を押してもモーダルが消えるようにしたい場合は
window.addEventListener('click', function(e) { if (e.target == modal) { modal.style.display = 'none'; } });
後はデザインを適当に加えれば完成です。
コメント
コメントを投稿