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倒计时功能实现代码
Jun 07 Javascript
js数组中如何随机取出一个值
Jun 13 Javascript
JavaScript极简入门教程(二):对象和函数
Oct 25 Javascript
深入探密Javascript数组方法
Jan 08 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 Javascript
node网页分段渲染详解
Sep 05 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
Sep 14 Javascript
vue.js实现照片放大功能
Jun 23 Javascript
vue和H5 draggable实现拖拽并替换效果
Jul 29 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 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
apache rewrite_module模块使用教程
2008/01/10 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python写的英文字符大小写转换代码示例
2015/03/06 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
在django中,关于session的通用设置方法
2019/08/06 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python偏函数实现原理及应用
2020/11/20 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
会务接待方案
2014/02/27 职场文书
精神文明建设标语
2014/06/16 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
应聘护士求职信
2014/07/21 职场文书
演讲稿开场白台词
2014/08/25 职场文书
免职证明样本
2014/10/23 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书