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 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
Extjs学习笔记之三 extjs form更多的表单项
Jan 07 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
Dec 04 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
微信小程序登录换取token的教程
May 31 Javascript
Vue实现6位数密码效果
Aug 18 Javascript
mock.js实现模拟生成假数据功能示例
Jan 15 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
Jan 11 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
PHP编写RESTful接口
2016/02/23 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python3中详解fabfile的编写
2018/06/24 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
python判断链表是否有环的实例代码
2020/01/31 Python
python中添加模块导入路径的方法
2021/02/03 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
电子商务系毕业生自荐信
2014/05/29 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
升学宴来宾致辞
2015/07/27 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python