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点击页面任何区域实现鼠标焦点十字效果
Jun 21 Javascript
关于Javascript作用域链的八点总结
Dec 06 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
Aug 24 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
JS计算两个时间相差分钟数的方法示例
Jan 10 Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 Javascript
vue axios数据请求get、post方法及实例详解
Sep 11 Javascript
解决vue 单文件组件中样式加载问题
Apr 24 Javascript
jQuery实现带进度条的轮播图
Sep 13 jQuery
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 SEO优化之URL优化方法
2011/04/21 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
微信支付开发交易通知实例
2016/07/12 PHP
php获取linux命令结果的实例
2017/03/13 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
js实现音乐播放控制条
2017/09/09 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
如何利用Python识别图片中的文字
2020/05/31 Python
Python如何定义有可选参数的元类
2020/07/31 Python
如何利用python进行时间序列分析
2020/08/04 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
数据库面试要点基本概念
2013/10/31 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
大学生实习感言
2014/01/16 职场文书
优秀应届生求职信
2014/06/16 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL