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 相关文章推荐
JavaScript 数组运用实现代码
Apr 13 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
tab栏切换原理
Mar 22 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
angular之ng-template模板加载
Nov 09 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
Node.js npm命令运行node.js脚本的方法
Oct 10 Javascript
vue和better-scroll实现列表左右联动效果详解
Apr 29 Javascript
javascript自定义加载loading效果
Sep 15 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
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
PHP错误机制知识汇总
2016/03/24 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
PHP xpath()函数讲解
2019/02/11 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
Python使用filetype精确判断文件类型
2017/07/02 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
《东方明珠》教学反思
2014/04/20 职场文书
人大代表选举标语
2014/10/07 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
会计实训报告范文
2014/11/04 职场文书
工会工作个人总结
2015/03/03 职场文书
中学社团活动总结
2015/05/07 职场文书
初中班主任教育随笔
2015/08/15 职场文书
《搭石》教学反思
2016/02/18 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
零基础学java之循环语句的使用
2022/04/10 Java/Android