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 replace 字符替换实现代码
Dec 02 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
JavaScript中String.prototype用法实例
May 20 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
Vue实现选择城市功能
May 27 Javascript
vue完成项目后,打包成静态文件的方法
Sep 03 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 Javascript
Vue实现商品详情页的评价列表功能
Sep 04 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
JS实现斐波那契数列的五种方式(小结)
Sep 09 Javascript
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
使用python实现扫描端口示例
2014/03/29 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
Python if语句知识点用法总结
2018/06/10 Python
Python线程同步的实现代码
2018/10/03 Python
Python实现TCP通信的示例代码
2019/09/09 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
Python networkx包的实现
2020/02/14 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Python之多进程与多线程的使用
2021/02/23 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
什么是TCP/IP
2014/07/27 面试题
国培教师自我鉴定
2014/02/12 职场文书
超市主管竞聘书
2015/09/15 职场文书
应届毕业生的自我评价
2019/06/21 职场文书