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操作JSON的要领总结
Dec 09 Javascript
JS中showModalDialog 的使用解析
Apr 17 Javascript
Jquery时间验证和转换工具小例子
Jul 01 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
使用jQuery UI库开发Web界面的简单入门指引
Apr 22 Javascript
浅析Javascript中bind()方法的使用与实现
May 30 Javascript
BootStrap中Tab页签切换实例代码
May 30 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
AngularJS表单详解及示例代码
Aug 17 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
Dec 10 Javascript
详细聊聊vue中组件的props属性
Nov 02 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
jQuery 开天辟地入门篇一
2009/12/09 Javascript
js+css在交互上的应用
2010/07/18 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
python字符串替换示例
2014/04/24 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
python版学生管理系统
2018/01/10 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python生成带有表格的图片实例
2019/02/03 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
彩色的非洲教学反思
2014/02/18 职场文书
委托协议书范本
2014/04/22 职场文书
小学生通知书评语
2014/12/31 职场文书
质量整改通知单
2015/04/21 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js