JavaScript實(shí)現(xiàn)彈出窗口效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)彈出窗口的具體代碼,供大家參考,具體內(nèi)容如下
思路
1、總體使用兩個(gè)div,一個(gè)作為底層展示,一個(gè)做為彈出窗口;2、兩個(gè)窗口獨(dú)立進(jìn)行CSS設(shè)計(jì),通過(guò)display屬性進(jìn)行設(shè)置現(xiàn)實(shí)與隱藏,此處建議使用display屬性而不是visibility屬性,visibility:hidden可以隱藏某個(gè)元素,但隱藏的元素仍需占用與未隱藏之前一樣的空間,影響布局;3、在js內(nèi)設(shè)計(jì)兩個(gè)onclick事件,分別指定函數(shù),分別為開(kāi)啟彈窗和關(guān)閉彈窗。
一、設(shè)置兩個(gè)div
<html><title>彈出窗口</title><head> <meta charset='UTF-8'></head><body> // 底層div <div id='popLayer'> </div> // 彈出層div <div id='popDiv'> </div></body></html>
二、對(duì)兩個(gè)div進(jìn)行獨(dú)立CSS設(shè)置,彈出窗口display設(shè)為none
<html><title>彈出窗口</title><head> <meta charset='UTF-8'> <style type='text/css'> body{ background-color: cyan; } #popDiv{ display: none; background-color: crimson; z-index: 11; width: 600px; height: 600px; position:fixed; top:0; right:0; left:0; bottom:0; margin:auto; } </style></head><body> // 底層div <div id='popLayer'> <button onclick=''>彈窗</button> </div> // 彈出層div <div id='popDiv'> <div class='close'> // 關(guān)閉按鈕超鏈接 <a href='http://m.b3g6.com/bcjs/14271.html' onclick=''>關(guān)閉</a> </div> <p>此處為彈出窗口</p> </div></body></html>
三、定義并設(shè)置彈出按鈕和關(guān)閉窗口函數(shù)
<script type='text/javascript'> function popDiv(){ // 獲取div元素 var popBox = document.getElementById('popDiv'); var popLayer = document.getElementById('popLayer'); // 控制兩個(gè)div的顯示與隱藏 popBox.style.display = 'block'; popLayer.style.display = 'block'; } function closePop(){ // 獲取彈出窗口元素 let popDiv = document.getElementById('popDiv'); popDiv.style.display = 'none'; }</script>
四、將函數(shù)設(shè)置到onclick事件中
<button onclick='popDiv();'>彈窗</button><a href='javascript:void(0)' onclick='closePop()'>關(guān)閉</a>
五、設(shè)置關(guān)閉鏈接CSS和pop界面的其余CSS
<style type='text/css'> /* 關(guān)閉鏈接樣式 */ #popDiv .close a { text-decoration: none; color: #2D2C3B; } /* 彈出界面的關(guān)閉鏈接 */ #popDiv .close{ text-align: right; margin-right: 5px; background-color: #F8F8F8; } #popDiv p{ text-align: center; font-size: 25px; font-weight: bold; }</style>
六、整體代碼
<html><title>彈出窗口</title><head> <meta charset='UTF-8'> <script type='text/javascript'> function popDiv(){ // 獲取div元素 var popBox = document.getElementById('popDiv'); var popLayer = document.getElementById('popLayer'); // 控制兩個(gè)div的顯示與隱藏 popBox.style.display = 'block'; popLayer.style.display = 'block'; } function closePop(){ // 獲取彈出窗口元素 let popDiv = document.getElementById('popDiv'); popDiv.style.display = 'none'; } </script> <style type='text/css'> body{ background-color: cyan; } #popDiv{ display: none; background-color: crimson; z-index: 11; width: 600px; height: 600px; position:fixed; top:0; right:0; left:0; bottom:0; margin:auto; } /* 關(guān)閉按鈕樣式 */ #popDiv .close a { text-decoration: none; color: #2D2C3B; } /* 彈出界面的關(guān)閉按鈕 */ #popDiv .close{ text-align: right; margin-right: 5px; background-color: #F8F8F8; } #popDiv p{ text-align: center; font-size: 25px; font-weight: bold; } </style></head><body> <div id='popLayer'> <button onclick='popDiv();'>彈窗</button> </div> <div id='popDiv'> <div class='close'> <a href='javascript:void(0)' onclick='closePop()'>關(guān)閉</a> </div> <p>此處為彈出窗口</p> </div></body></html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條2. Python 利用Entrez庫(kù)篩選下載PubMed文獻(xiàn)摘要的示例3. python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)4. Python 合并拼接字符串的方法5. Python 制作查詢商品歷史價(jià)格的小工具6. ASP基礎(chǔ)知識(shí)VBScript基本元素講解7. Python sublime安裝及配置過(guò)程詳解8. Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解9. Python 如何調(diào)試程序崩潰錯(cuò)誤10. Python3 json模塊之編碼解碼方法講解

網(wǎng)公網(wǎng)安備