溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用JavaScript項目實現(xiàn)一個彈出窗口功能

發(fā)布時間:2020-12-10 15:43:04 來源:億速云 閱讀:165 作者:Leah 欄目:開發(fā)技術

這篇文章給大家介紹利用JavaScript項目實現(xiàn)一個彈出窗口功能,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

思路

1、總體使用兩個div,一個作為底層展示,一個做為彈出窗口;
2、兩個窗口獨立進行CSS設計,通過display屬性進行設置現(xiàn)實與隱藏,此處建議使用display屬性而不是visibility屬性,visibility:hidden可以隱藏某個元素,但隱藏的元素仍需占用與未隱藏之前一樣的空間,影響布局;
3、在js內(nèi)設計兩個onclick事件,分別指定函數(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進行獨立CSS設置,彈出窗口display設為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">
 // 關閉按鈕超鏈接
 <a href="" onclick="">關閉</a>
 </div>
 <p>此處為彈出窗口</p>
 </div>
</body>
</html>

三、定義并設置彈出按鈕和關閉窗口函數(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ù)設置到onclick事件中

<button onclick="popDiv();">彈窗</button>
<a href="javascript:void(0)" onclick="closePop()">關閉</a>

五、設置關閉鏈接CSS和pop界面的其余CSS

<style type="text/css">
 /* 關閉鏈接樣式 */
 #popDiv .close a {
  text-decoration: none;
  color: #2D2C3B;
 }
 /* 彈出界面的關閉鏈接 */
 #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;
 }
 /* 關閉按鈕樣式 */
 #popDiv .close a {
  text-decoration: none;
  color: #2D2C3B;
 }
 /* 彈出界面的關閉按鈕 */
 #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()">關閉</a>
 </div>
  <p>此處為彈出窗口</p>
 </div>
</body>
</html>

關于利用JavaScript項目實現(xiàn)一個彈出窗口功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI