js控制的遮罩层实例介绍


Posted in Javascript onMay 29, 2013

闲来无事,把项目里很土的弹窗,改成了遮罩层显示,感觉效果好点了。上代码:
父页面:

<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 页面便会报错,至于为什么还没研究,可能和加载顺序有关。
(在给标签变量取名字时候,如果变量和id名一样时候,js也会报错,要避免)
在父页面添加触发显示遮罩层js:
在这里创建一个div和body一样大小,这样就可以把整个页面全部盖住了。
style.zIndex 来控制覆盖的先后顺序(层级)
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控制父页面已经定义好的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控制父页面div滚动居中:
attachEvent ,addEventListener 对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); 
}

动态给父页面div添加关闭图层和遮罩层(需要修改):
var newA = document.createElement("a"); 
newA.href = "#"; 
newA.innerHTML = "关闭"; 
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);
Javascript 相关文章推荐
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
Feb 07 Javascript
一个js拖拽的效果类和dom-drag.js浅析
Jul 17 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
jQuery on方法传递参数示例
Dec 09 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
Aug 24 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
原生JS实现轮播图效果
Oct 12 Javascript
详解JavaScript中的坐标和距离
May 27 Javascript
js控制web打印(局部打印)方法整理
May 29 #Javascript
js动态为代码着色显示行号
May 29 #Javascript
js判断背景图片是否加载成功使用img的width实现
May 29 #Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 #Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
May 28 #Javascript
js仿百度有啊通栏展示效果实现代码
May 28 #Javascript
jquery实现商品拖动选择效果代码(自写)
May 28 #Javascript
You might like
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
用Python开发app后端有优势吗
2020/06/29 Python
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
教育课题研究自我鉴定范文
2013/12/28 职场文书
个人优缺点自我评价
2014/01/27 职场文书
广播体操口号
2014/06/18 职场文书
同学聚会邀请函
2015/01/30 职场文书
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL