基于JavaScript如何制作遮罩层对话框


Posted in Javascript onJanuary 26, 2016

1.遮罩层其实就是一个覆盖全界面的半透明的DIV,并处理zIndex使他浮于其他元素之上,是用户不能点击下边的元素,或者说点击没有反应。

2.在遮罩层上方在弹出一个层,由于遮罩层挡住了其他所有元素,用户只能点击弹出层,制造出模式窗口的假象。

废话不多说了,直接给大家贴js代码了。

<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 
<title>UntitledDocument</title> 
<script> 
function openDiv(newDivID) 
{ 
var newMaskID = "mask"; //遮罩层id 
var newMaskWidth =document.body.scrollWidth;//遮罩层宽度 
var newMaskHeight =document.body.scrollHeight;//遮罩层高度 
//mask遮罩层 
var newMask = document.createElement("div");//创建遮罩层 
newMask.id = newMaskID;//设置遮罩层id 
newMask.style.position = "absolute";//遮罩层位置 
newMask.style.zIndex = "1";//遮罩层zIndex 
newMask.style.width = newMaskWidth + "px";//设置遮罩层宽度 
newMask.style.height = newMaskHeight + "px";//设置遮罩层高度 
newMask.style.top = "0px";//设置遮罩层于上边距离 
newMask.style.left = "0px";//设置遮罩层左边距离 
newMask.style.background = "gray";//#33393C//遮罩层背景色 
newMask.style.filter = "alpha(opacity=40)";//遮罩层透明度IE 
newMask.style.opacity = "0.40";//遮罩层透明度FF 
document.body.appendChild(newMask);//遮罩层添加到DOM中 
window.open('http://www.baidu.com','_blank','width=500,height=260,menubar=no,toolbar=no');//弹出子页面,具体自用自改
//弹出层滚动居中 
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); 
} 
//关闭新图层和mask遮罩层 
var newA = document.createElement("span"); 
newA.href = "#"; 
newA.style.position = "absolute";//span位置 
newA.style.left=350+ "px"; 
newA.innerHTML = "Close"; 
newA.onclick = function()//处理关闭事件 
{ 
if(document.all) 
{ 
window.detachEvent("onscroll",newDivCenter); 
} 
else 
{ 
window.removeEventListener('scroll',newDivCenter,false); 
} 
document.body.removeChild(newMask);//移除遮罩层 
document.body.removeChild(newDiv);////移除弹出框 
return false; 
} 
newDiv.appendChild(newA);//添加关闭span 
} 
</script> 
</head> 
<BODY> 
<a onclick="openDiv('newDiv');" style="cursor:pointer">点我点我</a> 
<br>
username:<input type="text" name="uname"/><br>
u p w d:<input type="password" name="upwd"/>
<br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /> 
<a onclick="openDiv('newDiv');" style="cursor:pointer">点我点我</a> 
</BODY> 
</html>

以上所述是小编给大家介绍的基于JavaScript如何制作遮罩层对话框 的相关知识,希望对大家有所帮助。

Javascript 相关文章推荐
Mootools 1.2教程 输入过滤第一部分(数字)
Sep 15 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
Aug 28 Javascript
JavaScript 32位整型无符号操作示例
Dec 08 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
Dec 28 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
ES6 更易于继承的类语法的使用
Feb 11 Javascript
vue图片上传本地预览组件使用详解
Feb 20 Javascript
JS数组方法concat()用法实例分析
Jan 18 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 #Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 #Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 #Javascript
基于canvas实现的钟摆效果完整实例
Jan 26 #Javascript
js实现的页面矩阵图形变换特效
Jan 26 #Javascript
JS实现简单的二维矩阵乘积运算
Jan 26 #Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 #Javascript
You might like
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
人族 TERRAN 概述
2020/03/14 星际争霸
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
简单理解Python中的装饰器
2015/07/31 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python处理document文档保留原样式
2019/09/23 Python
python 实现aes256加密
2020/11/27 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
会计学应届毕业生推荐信
2013/11/04 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
同学会主持词
2014/03/18 职场文书
小班下学期评语
2014/05/04 职场文书
差生评语大全
2014/05/04 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记