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实例教程(19) 使用HoTMetal(4)
Dec 23 Javascript
Save a File Using a File Save Dialog Box
Jun 18 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
Jan 12 Javascript
使用angular写一个hello world
Jan 23 Javascript
Angular中$cacheFactory的作用和用法实例详解
Aug 19 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
JS实现进度条动态加载特效
Mar 25 Javascript
Vue实现计算器计算效果
Aug 17 Javascript
js实现简易拖拽的示例
Oct 26 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语法(3)
2006/10/09 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php发送邮件的问题详解
2015/06/22 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
JavaScript类库D
2010/10/24 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
Python实现字典的key和values的交换
2015/08/04 Python
Python 基础教程之包和类的用法
2017/02/23 Python
详解python运行三种方式
2019/05/13 Python
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
new修饰符是起什么作用
2015/06/28 面试题
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
外贸英语毕业生自荐信
2013/11/14 职场文书
销售工作岗位职责
2013/12/24 职场文书
奥林匹克的口号
2014/06/13 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书