基于JavaScript如何制作遮罩層對話框
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)文章
ko knockoutjs動態(tài)屬性綁定技巧應(yīng)用
ko的動態(tài)屬性是指,ViewModel不確定的屬性,而后期卻需要的屬性,本文將詳細介紹,需要的朋友參考下2012-11-11
JavaScript中實現(xiàn)異步編程模式的4種方法
這篇文章主要介紹了JavaScript中實現(xiàn)異步編程模式的4種方法,本文講解了回調(diào)函數(shù)、事件監(jiān)聽、發(fā)布/訂閱、Promises對象4種方法,需要的朋友可以參考下2014-09-09
微信小程序授權(quán)登錄及解密unionId出錯的方法
關(guān)閉瀏覽器輸入框自動補齊 兼容IE,FF,Chrome等主流瀏覽器
js中的數(shù)組轉(zhuǎn)樹型結(jié)構(gòu)方式

