JavaScript實現(xiàn)彈出窗口效果
本文實例為大家分享了JavaScript實現(xiàn)彈出窗口的具體代碼,供大家參考,具體內(nèi)容如下
思路
1、總體使用兩個div,一個作為底層展示,一個做為彈出窗口;2、兩個窗口獨立進(jìn)行CSS設(shè)計,通過display屬性進(jìn)行設(shè)置現(xiàn)實與隱藏,此處建議使用display屬性而不是visibility屬性,visibility:hidden可以隱藏某個元素,但隱藏的元素仍需占用與未隱藏之前一樣的空間,影響布局;3、在js內(nèi)設(shè)計兩個onclick事件,分別指定函數(shù),分別為開啟彈窗和關(guān)閉彈窗。
一、設(shè)置兩個div
<html><title>彈出窗口</title><head> <meta charset='UTF-8'></head><body> // 底層div <div id='popLayer'> </div> // 彈出層div <div id='popDiv'> </div></body></html>
二、對兩個div進(jìn)行獨立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://www.aoyou183.cn/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'); // 控制兩個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'); // 控制兩個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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XHTML 1.0:標(biāo)記新的開端2. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)3. XML入門的常見問題(四)4. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實現(xiàn)代碼5. 詳解瀏覽器的緩存機制6. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究7. XML解析錯誤:未組織好 的解決辦法8. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法9. 利用CSS3新特性創(chuàng)建透明邊框三角10. ASP基礎(chǔ)知識VBScript基本元素講解
