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的6个Tab选项卡插件
Sep 03 Javascript
js获取会话框prompt的返回值的方法
Jan 10 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
jQuery中的通配符选择器使用总结
May 30 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
对vue中v-if的常见使用方法详解
Sep 28 Javascript
vue 插槽简介及使用示例
Nov 19 Vue.js
四十九个javascript小知识实用技巧
Nov 20 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
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
实例解析php的数据类型
2018/10/24 PHP
深入理解js数组的sort排序
2016/05/28 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
js实现3D旋转效果
2020/08/18 Javascript
理解Python中的With语句
2015/02/02 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python使用minidom读写xml的方法
2015/06/03 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python实现桌面气泡提示功能
2019/07/29 Python
Python正则表达式学习小例子
2020/03/03 Python
Python正则表达式如何匹配中文
2020/05/27 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
python接口自动化框架实战
2020/12/23 Python
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
校园十大歌手策划书
2014/02/01 职场文书
工作过失检讨书
2014/02/23 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
城管综合整治方案
2014/05/01 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
安全生产协议书
2016/03/22 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
Nginx限流和黑名单配置
2022/05/20 Servers