本篇文章主要是對點擊彈出層效果&彈出窗口後網頁背景變暗效果的實現代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
代碼如下: <html> <head> <title>網頁特效-窗口特效-彈出窗口後網頁背景變暗的效果</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <!--把下面代碼加到<head>與</head>之間--> <style type="text/css"> .black_overlay{display:none;position:absolute;top:0%;left:0%;width:100%;height:100%;background-color:black;z-index:1001;-moz-opacity:0.8;opacity:.80;filter:alpha(opacity=80);} .white_content{display:none;position:absolute;top:25%;left:25%;width:50%; height:50%;padding:16px;border:3px solid orange;background-color:white;z-index:1002;overflow:auto;} </style> </head> <body> <!--把下面代碼加到<body>與</body>之間--> <a href="javascript:void(0)" onclick="document.getElementById('light').style.display='block'; document.getElementById('fade').style.display='block'"> 點擊這裡打開窗口</a> <div id="light" class="white_content"> <a href="javascript:void(0)" onclick="document.getElementById('light').style.display='none';document. getElementById('fade').style.display='none'"> Close</a> <br>窗口內容 </div> <div id="fade" class="black_overlay">123</div> </body> </html> 例二: 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無標題頁</title> <script language="javascript" type="text/javascript"> function hid() { var div4=document.getElementById("div1"); div4.style.display="block"; div4.style.width="200px"; div4.style.height="150px"; div4.style.zIndex="9999"; div4.style.top="43%"; div4.style.left="43%"; div4.style.position="absolute"; var div3=document.getElementById("div2"); div3.style.display="block"; div3.style.width="1000px"; div3.style.zIndex="9998"; div3.style.position="absolute"; div3.style.height=document.body.offsetHeight; div3.style.top="0px"; div3.style.left="0px"; } function vis() { var div4=document.getElementById("div1"); div4.style.display="none"; var div3=document.getElementById("div2"); div3.style.display="none"; div3.style.width="0px"; div3.style.height="0px"; div4.innerHTML="<a onclick='vis()' style='display: block' id='text'>點擊關閉</a><br /><br /><input name='TextBox2' type='text' id='TextBox2' /><br /><input id='Button3' type='button' value='button' onclick='return Button3_onclick()' />"; } </script> </head> <body style="width:100%; height:100%"> <div align="center"> <table width="768" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="768" height="403"> <form id="form1" runat="server"> <a onclick="hid()">點擊顯示</a><br /> <div style="color: white; background-color: green; display: none;" id="div1"> <a onclick="vis()" style="display: block" id="text">點擊關閉</a><br /> <br /> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> <input id="Button3" type="button" value="button" onclick="return Button3_onclick()" /></div> <div style="filter:alpha(opacity=70);width: 1px; height: 8px; background-color: #cccccc; left: 0px; position: absolute; top: 0px; z-index: 9998; display: none;" id="div2"> </div> </form></td> </tr> </table> </div> </body> </html> 例三: 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>點擊彈出層效果</title> <style> * {margin:0;} body {font-size:12px;} #container div{margin-top:5px;} #select_city h3{float:left;} #main_city,#all_province {clear:both;} #main_city div,#all_province div{width:600px;clear:left;} #main_city h4,#all_province h4{float:left;display:inline;font-size:16px;} #main_city div span,#all_province div span{margin:0 10px;cursor:pointer;font-size:12px;} #float_lay{width:200px;height:120px;border:1px #d1d1d1 solid;position:absolute;background:#fff;z-index:999;display:none;} </style> <script type="text/javascript"> //彈出層 function openLayer(objId,conId){ var arrayPageSize = getPageSize();//調用getPageSize()函數 var arrayPageScroll = getPageScroll();//調用getPageScroll()函數 if (!document.getElementById("popupAddr")){ //創建彈出內容層 var popupDiv = document.createElement("div"); //給這個元素設置屬性與樣式 popupDiv.setAttribute("id","popupAddr") popupDiv.style.position = "absolute"; popupDiv.style.border = "1px solid #ccc"; popupDiv.style.background = "#fff"; popupDiv.style.zIndex = 99; //創建彈出背景層 var bodyBack = document.createElement("div"); bodyBack.setAttribute("id","bodybg") bodyBack.style.position = "absolute"; bodyBack.style.width = "100%"; bodyBack.style.height = (arrayPageSize[1] + 35 + 'px'); bodyBack.style.zIndex = 98; bodyBack.style.top = 0; bodyBack.style.left = 0; bodyBack.style.filter = "alpha(opacity=50)"; bodyBack.style.opacity = 0.5; bodyBack.style.background = "#ddf"; //實現彈出(插入到目標元素之後) var mybody = document.getElementById(objId); insertAfter(popupDiv,mybody);//執行函數insertAfter() insertAfter(bodyBack,mybody);//執行函數insertAfter() } //顯示背景層 document.getElementById("bodybg").style.display = ""; //顯示內容層 var popObj=document.getElementById("popupAddr") popObj.innerHTML = document.getElementById(conId).innerHTML; popObj.style.display = ""; //讓彈出層在頁面中垂直左右居中(統一) // popObj.style.width = "600px"; // popObj.style.height = "400px"; // popObj.style.top = arrayPageScroll[1] + (arrayPageSize[3] - 35 - 400) / 2 + 'px'; // popObj.style.left = (arrayPageSize[0] - 20 - 600) / 2 + 'px'; //讓彈出層在頁面中垂直左右居中(個性) var arrayConSize=getConSize(conId) popObj.style.top = arrayPageScroll[1] + (arrayPageSize[3] - arrayConSize[1]) / 2-50 + 'px'; popObj.style.left = (arrayPageSize[0] - arrayConSize[0]) / 2 -30 + 'px'; } //獲取內容層內容原始尺寸 function getConSize(conId){ var conObj=document.getElementById(conId) conObj.style.position = "absolute"; conObj.style.left=-1000+"px"; conObj.style.display=""; var arrayConSize=[conObj.offsetWidth,conObj.offsetHeight] conObj.style.display="none"; return arrayConSize; } function insertAfter(newElement,targetElement){//插入 var parent = targetElement.parentNode; if(parent.lastChild == targetElement){ parent.appendChild(newElement); } else{ parent.insertBefore(newElement,targetElement.nextSibling); } } //獲取滾動條的高度 function getPageScroll(){ var yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; } else if (document.documentElement && document.documentElement.scrollTop){ yScroll = document.documentElement.scrollTop; } else if (document.body) { yScroll = document.body.scrollTop; } arrayPageScroll = new Array('',yScroll) return arrayPageScroll; } //獲取頁面實際大小 function getPageSize(){ var xScroll,yScroll; if (window.innerHeight && window.scrollMaxY){ xScroll = document.body.scrollWidth; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ sScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; } else { xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } var windowWidth,windowHeight; //var pageHeight,pageWidth; if (self.innerHeight) { windowWidth = self.innerWidth; windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } var pageWidth,pageHeight if(yScroll < windowHeight){ pageHeight = windowHeight; } else { pageHeight = yScroll; } if(xScroll < windowWidth) { pageWidth = windowWidth; } else { pageWidth = xScroll; } arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) return arrayPageSize; } //關閉彈出層 function closeLayer(){ document.getElementById("popupAddr").style.display = "none"; document.getElementById("bodybg").style.display = "none"; return false; } </script> </head> <body> <input name="Input" id="test" value="風格設置" type="button" onclick="openLayer('test','test_con')" /> <!--第一個彈出層的內容--> <div id="test_con" style="display:none" title="包含彈出層的內容的容器"> <div id="tab"> <div id="tabtop"> <div id="tabtop-L"><strong>風格設置</strong></div> <div id="tabtop-R" onclick="closeLayer()"><strong>關閉</strong></div> </div> <div id="tabcontent">此處顯示內容</div> </div> </div> <br> <br> <br> <input name="Input" id="test2" value="風格提示" type="button" onclick=" openLayer('test2','test_con2')" /> <!--第二個彈出層的內容--> <div id="test_con2" style="display:none" title="包含彈出層的內容的容器"> <div id="tab2"> <div id="tabtop2"> <div id="tabtop-L2"><strong style="color:blue">設置提示</strong></div> <div id="tabtop-R2" onclick="closeLayer()"><strong style="color:red">關閉</strong></div> </div> <div id="tabcontent2" style="color:#dff;background:#000"> <p>此處顯示提示內容" <p>提示1 <p>提示2 </div> </div> </div> <br> 1<br> <br> <input name="Input" id="test3" value="風格演示" type="button" onclick="openLayer('test3','test_con3')" /> <!--第三個彈出層的內容--> <div id="test_con3" style="display:none" title="包含彈出層的內容的容器"> <div id="tab3" style="width:300px;height:180px;background:#fee"> <div id="tabtop3"> <div id="tabtop-L3"><strong style="color:red;font-size:20px">風格演示</strong></div> <div id="tabtop-R3" onclick="closeLayer()"><strong>關閉</strong></div> </div> <div id="tabcontent3">此處顯示內容</div> </div> </div> </body> </html>