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 相关文章推荐
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
用Juery网页选项卡实现代码
Jun 13 Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 Javascript
JS中表单的使用小结
Jan 11 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
ECMAScript6--解构
Mar 30 Javascript
w3c编程挑战_初级脚本算法实战篇
Jun 23 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 28 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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
用session做客户验证时的注意事项
2006/10/09 PHP
php自动适应范围的分页代码
2008/08/05 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
一个实用的php验证码类
2017/07/06 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
常用jQuery代码分享
2015/07/14 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Python sys.path详细介绍
2013/10/17 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
NumPy 数组使用大全
2019/04/25 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
《动手做做看》教学反思
2014/04/09 职场文书
2014年英语工作总结
2014/12/20 职场文书
表扬信格式模板
2015/05/05 职场文书