基于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-06javascript實現(xiàn)禁止右鍵和F12查看源代碼
這篇文章主要介紹了javascript實現(xiàn)禁止右鍵和F12查看源代碼的代碼,需要的朋友可以參考下2014-12-12