js控制的遮罩層實(shí)例介紹
更新時(shí)間:2013年05月29日 18:16:18 作者:
把項(xiàng)目里很土的彈窗,改成了遮罩層顯示,現(xiàn)在感覺好多了。在這里創(chuàng)建一個(gè)div和body一樣大小,這樣就可以把整個(gè)頁(yè)面全部蓋住了,具體實(shí)現(xiàn)祥看本文,希望可以幫助到你
閑來(lái)無(wú)事,把項(xiàng)目里很土的彈窗,改成了遮罩層顯示,感覺效果好點(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)文章
微信小程序?qū)崿F(xiàn)導(dǎo)航欄選項(xiàng)卡效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)導(dǎo)航欄選項(xiàng)卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02將函數(shù)的實(shí)際參數(shù)轉(zhuǎn)換成數(shù)組的方法
實(shí)際參數(shù)在函數(shù)中我們可以使用 arguments 對(duì)象獲得 (注:形參可通過(guò) arguments.callee 獲得),雖然 arguments 對(duì)象與數(shù)組形似,但仍不是真正意義上的數(shù)組。2010-01-01File, FileReader 和 Ajax 文件上傳實(shí)例分析(php)
File, FileReader 和 Ajax 文件上傳實(shí)例分析(php),需要的朋友可以參考下。2011-04-04javascript筆試題目附答案@20081025_jb51.net
網(wǎng)上找的javascript筆試題目,留檔給自己作參考。2008-10-10JS實(shí)現(xiàn)一個(gè)秒表計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)一個(gè)秒表計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03json的結(jié)構(gòu)與遍歷方法實(shí)例分析
這篇文章主要介紹了json的結(jié)構(gòu)與遍歷方法,結(jié)合具體實(shí)例形式分析了json常見的簡(jiǎn)單與復(fù)雜結(jié)構(gòu)表示方法,以及具體的遍歷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04