基于JavaScript如何制作遮罩層對話框
更新時間:2016年01月26日 11:16:41 作者:g皓皓
遮罩層聽起來貌似很復(fù)雜,其實說白了就是一個全界面的半透明的div,用戶不可以點擊下邊的元素,或者說是點擊沒有反應(yīng),接下來通過本文給大家介紹JavaScript如何制作遮罩層對話框,對js遮罩層相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
1.遮罩層其實就是一個覆蓋全界面的半透明的DIV,并處理zIndex使他浮于其他元素之上,是用戶不能點擊下邊的元素,或者說點擊沒有反應(yīng)。
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");//創(chuàng)建遮罩層
newMask.id = newMaskID;//設(shè)置遮罩層id
newMask.style.position = "absolute";//遮罩層位置
newMask.style.zIndex = "1";//遮罩層zIndex
newMask.style.width = newMaskWidth + "px";//設(shè)置遮罩層寬度
newMask.style.height = newMaskHeight + "px";//設(shè)置遮罩層高度
newMask.style.top = "0px";//設(shè)置遮罩層于上邊距離
newMask.style.left = "0px";//設(shè)置遮罩層左邊距離
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);
}
//關(guān)閉新圖層和mask遮罩層
var newA = document.createElement("span");
newA.href = "#";
newA.style.position = "absolute";//span位置
newA.style.left=350+ "px";
newA.innerHTML = "Close";
newA.onclick = function()//處理關(guān)閉事件
{
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);//添加關(guān)閉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如何制作遮罩層對話框 的相關(guān)知識,希望對大家有所幫助。
您可能感興趣的文章:
- JavaScript編寫點擊查看大圖的頁面半透明遮罩層效果實例
- 使用CSS+JavaScript或純js實現(xiàn)半透明遮罩效果的實例分享
- JS彈出層遮罩,隱藏背景頁面滾動條細節(jié)優(yōu)化分析
- AngualrJS中每次$http請求時的一個遮罩層Directive
- 基于JavaScript實現(xiàn)全屏透明遮罩div層鎖屏效果
- javascript實現(xiàn)的登陸遮罩效果匯總
- JS實現(xiàn)新浪微博效果帶遮罩層的彈出框代碼
- JS實現(xiàn)常見的TAB、彈出層效果(TAB標簽,斑馬線,遮罩層等)
- js制作帶有遮罩彈出層實現(xiàn)登錄注冊表單特效代碼分享
- js實現(xiàn)登陸遮罩效果的方法
- js實現(xiàn)遮罩層劃出效果是生成div而不是顯示
- JavaScript編寫頁面半透明遮罩效果的簡單示例
相關(guān)文章
select、radio表單回顯功能實現(xiàn)避免使用jquery載入賦值
select、radio表單回顯避免使用jquery載入賦值,最好的做法是:在jsp頁面進行邏輯判斷,具體實現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-06-06
javascript實現(xiàn)禁止右鍵和F12查看源代碼
這篇文章主要介紹了javascript實現(xiàn)禁止右鍵和F12查看源代碼的代碼,需要的朋友可以參考下2014-12-12

