js控制的遮罩層實(shí)例介紹
更新時(shí)間:2013年05月29日 18:16:18 作者:
把項(xiàng)目里很土的彈窗,改成了遮罩層顯示,現(xiàn)在感覺(jué)好多了。在這里創(chuàng)建一個(gè)div和body一樣大小,這樣就可以把整個(gè)頁(yè)面全部蓋住了,具體實(shí)現(xiàn)祥看本文,希望可以幫助到你
閑來(lái)無(wú)事,把項(xiàng)目里很土的彈窗,改成了遮罩層顯示,感覺(jué)效果好點(diǎn)了。上代碼:
父頁(yè)面:
<div id='newDiv1' style="display: none;">
<%@include file='/WEB-INF/jsp/infobackup/martyr/printCertDia.jsp' %>
<%--<jsp:include page="/WEB-INF/jsp/infobackup/martyr/printCertDia.jsp" flush=”true”/> --%>
</div>
printCertDia.jsp 便是要顯示的最上層jsp. 如果用jsp:include 頁(yè)面便會(huì)報(bào)錯(cuò),至于為什么還沒(méi)研究,可能和加載順序有關(guān)。
(在給標(biāo)簽變量取名字時(shí)候,如果變量和id名一樣時(shí)候,js也會(huì)報(bào)錯(cuò),要避免)
在父頁(yè)面添加觸發(fā)顯示遮罩層js:
在這里創(chuàng)建一個(gè)div和body一樣大小,這樣就可以把整個(gè)頁(yè)面全部蓋住了。
style.zIndex 來(lái)控制覆蓋的先后順序(層級(jí))
style.filter ,style.opacity 控制顯示透明°。
//mask遮罩層
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
_scrollWidth = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth);
_scrollHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
newMask.style.width = _scrollWidth + "px";
newMask.style.height = _scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#666";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
js控制父頁(yè)面已經(jīng)定義好的div顯示:
newDiv=document.getElementById("newDiv1");
// var newDiv = document.createElement("div");
// newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDivWidth = 700;
newDivHeight = 600;
newDiv.style.width = newDivWidth + "px";
newDiv.style.height = newDivHeight + "px";
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";
newDiv.style.background = "#F7F7EF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.style.display='';
js控制父頁(yè)面div滾動(dòng)居中:
attachEvent ,addEventListener 對(duì)scroll 添加處理事件 newDivCenter
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);
}
動(dòng)態(tài)給父頁(yè)面div添加關(guān)閉圖層和遮罩層(需要修改):
var newA = document.createElement("a");
newA.href = "#";
newA.innerHTML = "關(guān)閉";
newA.onclick = function() {
if (document.all) {
window.detachEvent("onscroll", newDivCenter);
}
else {
window.removeEventListener('scroll', newDivCenter, false);
}
document.body.removeChild(docEle("newDiv1"));
document.body.removeChild(docEle(m));
document.getElementById("certImg").style.display='';
return false;
}
newDiv.appendChild(newA);
父頁(yè)面:
復(fù)制代碼 代碼如下:
<div id='newDiv1' style="display: none;">
<%@include file='/WEB-INF/jsp/infobackup/martyr/printCertDia.jsp' %>
<%--<jsp:include page="/WEB-INF/jsp/infobackup/martyr/printCertDia.jsp" flush=”true”/> --%>
</div>
printCertDia.jsp 便是要顯示的最上層jsp. 如果用jsp:include 頁(yè)面便會(huì)報(bào)錯(cuò),至于為什么還沒(méi)研究,可能和加載順序有關(guān)。
(在給標(biāo)簽變量取名字時(shí)候,如果變量和id名一樣時(shí)候,js也會(huì)報(bào)錯(cuò),要避免)
在父頁(yè)面添加觸發(fā)顯示遮罩層js:
在這里創(chuàng)建一個(gè)div和body一樣大小,這樣就可以把整個(gè)頁(yè)面全部蓋住了。
style.zIndex 來(lái)控制覆蓋的先后順序(層級(jí))
style.filter ,style.opacity 控制顯示透明°。
復(fù)制代碼 代碼如下:
//mask遮罩層
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
_scrollWidth = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth);
_scrollHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
newMask.style.width = _scrollWidth + "px";
newMask.style.height = _scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#666";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
js控制父頁(yè)面已經(jīng)定義好的div顯示:
復(fù)制代碼 代碼如下:
newDiv=document.getElementById("newDiv1");
// var newDiv = document.createElement("div");
// newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDivWidth = 700;
newDivHeight = 600;
newDiv.style.width = newDivWidth + "px";
newDiv.style.height = newDivHeight + "px";
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";
newDiv.style.background = "#F7F7EF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.style.display='';
js控制父頁(yè)面div滾動(dòng)居中:
attachEvent ,addEventListener 對(duì)scroll 添加處理事件 newDivCenter
復(fù)制代碼 代碼如下:
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);
}
動(dòng)態(tài)給父頁(yè)面div添加關(guān)閉圖層和遮罩層(需要修改):
復(fù)制代碼 代碼如下:
var newA = document.createElement("a");
newA.href = "#";
newA.innerHTML = "關(guān)閉";
newA.onclick = function() {
if (document.all) {
window.detachEvent("onscroll", newDivCenter);
}
else {
window.removeEventListener('scroll', newDivCenter, false);
}
document.body.removeChild(docEle("newDiv1"));
document.body.removeChild(docEle(m));
document.getElementById("certImg").style.display='';
return false;
}
newDiv.appendChild(newA);
您可能感興趣的文章:
- html 鎖定頁(yè)面(js遮罩層彈出div效果)
- JS遮罩層效果 兼容ie firefox jQuery遮罩層
- javascript div 遮罩層封鎖整個(gè)頁(yè)面
- js彈出div并顯示遮罩層
- 原生js實(shí)現(xiàn)半透明遮罩層效果具體代碼
- 純js實(shí)現(xiàn)遮罩層效果原理分析
- 彈出最簡(jiǎn)單的模式化遮罩層的js代碼
- javascript ImgBox透明遮罩層背景圖片展示
- JS實(shí)現(xiàn)遮罩層效果的簡(jiǎn)單實(shí)例
- js實(shí)現(xiàn)遮罩層彈出框的方法
- 通過(guò)遮罩層實(shí)現(xiàn)浮層DIV登錄的js代碼
- js鼠標(biāo)懸浮出現(xiàn)遮罩層的方法
- js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng)
- css+js實(shí)現(xiàn)部分區(qū)域高亮可編輯遮罩層
- js css 實(shí)現(xiàn)遮罩層覆蓋其他頁(yè)面元素附圖
- JavaScript編寫點(diǎn)擊查看大圖的頁(yè)面半透明遮罩層效果實(shí)例
相關(guān)文章
原生javascript實(shí)現(xiàn)讀寫CSS樣式的方法詳解
最近學(xué)習(xí)中遇到這個(gè)問(wèn)題,為了日后方便查詢,本人翻閱了一些資料總結(jié)了以下方法,僅限原生JS,如有不對(duì)的地方歡迎指出!只求大家看完覺(jué)得有學(xué)到點(diǎn)什么就OK了!下面這篇文章主要介紹了利用原生javascript實(shí)現(xiàn)讀寫CSS樣式的方法,需要的朋友可以參考下。2017-02-02
Web 開發(fā)中Ajax的Session 超時(shí)處理方法
下面小編就為大家?guī)?lái)一篇Web 開發(fā)中Ajax的Session 超時(shí)處理方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例(附demo源碼下載)
這篇文章主要介紹了JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例,涉及JavaScript密碼的生成,破解時(shí)間計(jì)算,密碼安全監(jiān)測(cè)及大小寫鎖定判斷等功能的實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
微信小程序常見(jiàn)頁(yè)面跳轉(zhuǎn)操作簡(jiǎn)單示例
這篇文章主要介紹了微信小程序常見(jiàn)頁(yè)面跳轉(zhuǎn)操作,結(jié)合簡(jiǎn)單實(shí)例形式總結(jié)分析了微信小程序保留頁(yè)面跳轉(zhuǎn)、關(guān)閉頁(yè)面跳轉(zhuǎn)、返回上一級(jí)頁(yè)面等各種常見(jiàn)的跳轉(zhuǎn)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
關(guān)于JS中的全等和不全等、等于和不等于問(wèn)題
等號(hào)和非等號(hào)的同類運(yùn)算符是全等號(hào)和非全等號(hào)。這兩個(gè)運(yùn)算符所做的與等號(hào)和非等號(hào)相同,只是它們?cè)跈z查相等性前,不執(zhí)行類型轉(zhuǎn)換。接下來(lái)通過(guò)本文給大家介紹JS中的全等和不全等、等于和不等于,一起看看吧2021-09-09

