DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 基於JavaScript如何制作遮罩層對話框
基於JavaScript如何制作遮罩層對話框
編輯:關於JavaScript     

1.遮罩層其實就是一個覆蓋全界面的半透明的DIV,並處理zIndex使他浮於其他元素之上,是用戶不能點擊下邊的元素,或者說點擊沒有反應。

2.在遮罩層上方在彈出一個層,由於遮罩層擋住了其他所有元素,用戶只能點擊彈出層,制造出模式窗口的假象。

廢話不多說了,直接給大家貼js代碼了。

<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 
<title>UntitledDocument</title> 
<script> 
function openDiv(newDivID) 
{ 
var newMaskID = "mask"; //遮罩層id 
var newMaskWidth =document.body.scrollWidth;//遮罩層寬度 
var newMaskHeight =document.body.scrollHeight;//遮罩層高度 
//mask遮罩層 
var newMask = document.createElement("div");//創建遮罩層 
newMask.id = newMaskID;//設置遮罩層id 
newMask.style.position = "absolute";//遮罩層位置 
newMask.style.zIndex = "1";//遮罩層zIndex 
newMask.style.width = newMaskWidth + "px";//設置遮罩層寬度 
newMask.style.height = newMaskHeight + "px";//設置遮罩層高度 
newMask.style.top = "0px";//設置遮罩層於上邊距離 
newMask.style.left = "0px";//設置遮罩層左邊距離 
newMask.style.background = "gray";//#33393C//遮罩層背景色 
newMask.style.filter = "alpha(opacity=40)";//遮罩層透明度IE 
newMask.style.opacity = "0.40";//遮罩層透明度FF 
document.body.appendChild(newMask);//遮罩層添加到DOM中 
window.open('http://www.baidu.com','_blank','width=500,height=260,menubar=no,toolbar=no');  //彈出子頁面,具體自用自改
//彈出層滾動居中 
function newDivCenter() 
{ 
newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2 
- newDivHeight/2) + "px"; 
newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2 
- newDivWidth/2) + "px"; 
} 
if(document.all)//處理滾動事件,使彈出層始終居中 
{ 
window.attachEvent("onscroll",newDivCenter); 
} 
else 
{ 
window.addEventListener('scroll',newDivCenter,false); 
} 
//關閉新圖層和mask遮罩層 
var newA = document.createElement("span"); 
newA.href = "#"; 
newA.style.position = "absolute";//span位置 
newA.style.left=350+ "px"; 
newA.innerHTML = "Close"; 
newA.onclick = function()//處理關閉事件 
{ 
if(document.all) 
{ 
window.detachEvent("onscroll",newDivCenter); 
} 
else 
{ 
window.removeEventListener('scroll',newDivCenter,false); 
} 
document.body.removeChild(newMask);//移除遮罩層 
document.body.removeChild(newDiv);////移除彈出框 
return false; 
} 
newDiv.appendChild(newA);//添加關閉span 
} 
</script> 
</head> 
<BODY> 
<a onclick="openDiv('newDiv');" style="cursor:pointer">點我點我</a> 
<br>
username:<input type="text" name="uname"/><br>
u p w d:<input type="password" name="upwd"/>
<br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /> 
<a onclick="openDiv('newDiv');" style="cursor:pointer">點我點我</a> 
</BODY> 
</html>

以上所述是小編給大家介紹的基於JavaScript如何制作遮罩層對話框 的相關知識,希望對大家有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved