JavaScript實(shí)現(xiàn)彈出窗口效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)彈出窗口的具體代碼,供大家參考,具體內(nèi)容如下
思路
1、總體使用兩個div,一個作為底層展示,一個做為彈出窗口;
2、兩個窗口獨(dú)立進(jìn)行CSS設(shè)計,通過display屬性進(jìn)行設(shè)置現(xiàn)實(shí)與隱藏,此處建議使用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)行獨(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="" 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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript ES6 Template String模板字符串使用方法
這篇文章主要介紹了javascript ES6 模板字符串(Template String)是增強(qiáng)版的字符串,用反引號(`)標(biāo)識,它可以當(dāng)作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量,需要的朋友可以參考下2023-06-06
js HTML5 Ajax實(shí)現(xiàn)文件上傳進(jìn)度條功能
這篇文章主要介紹了javascript實(shí)現(xiàn)文件上傳進(jìn)度條功能的相關(guān)資料啊,感興趣的朋友可以參考一下2016-02-02
原生JavaScript實(shí)現(xiàn)remove()和recover()功能示例
這篇文章主要介紹了原生JavaScript實(shí)現(xiàn)remove()和recover()功能,結(jié)合實(shí)例形式分析了javascript實(shí)現(xiàn)類似jQueryremove()和recover()功能的自定義函數(shù),需要的朋友可以參考下2018-07-07
javascript實(shí)現(xiàn)網(wǎng)頁背景煙花效果的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)網(wǎng)頁背景煙花效果的方法,涉及javascript數(shù)學(xué)運(yùn)算及頁面元素動態(tài)操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
15個簡單的JS編碼標(biāo)準(zhǔn)讓你的代碼更整潔(小結(jié))
Javascript計算二維數(shù)組重復(fù)值示例代碼

