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对象属性方法汇总
Nov 21 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
Apr 28 Javascript
JS中处理时间之setUTCMinutes()方法的使用
Jun 12 Javascript
jQuery实现简单的点赞效果
May 29 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
Oct 11 Javascript
Jquery实现跨域异步上传文件总结
Feb 03 Javascript
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
vue监听用户输入和点击功能
Sep 27 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 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
PHP 和 HTML
2006/10/09 PHP
也谈 PHP 和 MYSQL
2006/10/09 PHP
php创建多级目录代码
2008/06/05 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
python中的字符串内部换行方法
2018/07/19 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python序列化pickle模块使用详解
2020/03/05 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
我的长生果教学反思
2014/04/28 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
先进工作者个人总结
2015/02/15 职场文书
结婚堵门保证书
2015/05/08 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js