本文实例讲述了JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能。分享给大家供大家参考,具体如下:
HTML部分:
<div id="div">点击除开div的区域可以弹出弹窗</div> <div id="cover"></div> <div id="box">点击除开div和弹窗的区域可以关闭弹窗</div>
CSS部分:
#div{ /*设置z-index属性必须设置position:relative或absolute*/ position:relative; /*设置div位于遮罩的上方*/ z-index:2; width:300px; height:200px; border:1px solid grey; } #cover{ position:fixed; width:100%; height:100%; left:0; top:0; /*设置遮罩位于div的下方*/ z-index:1; } #box{ border:1px solid grey; /*当弹窗显示时,屏幕滚动时,弹窗始终保持位置固定在屏幕正中,不随屏幕滚动而变化位置*/ position:fixed; width:400px; height:300px; left:50%; top:50%; /*配合left:50%和top:50%属性使得浮出层的中心默认在屏幕正中,margin-top为height的一半,margin-left为width的一半*/ margin:-150px 0 0 -200px; /*设置弹窗位于遮罩的上方*/ z-index:2; /*开始时隐藏弹窗*/ display:none; }
JavaScript部分:
document.getElementById("cover").onclick = function() { if (document.getElementById("box").style.display == "block") { document.getElementById("box").style.display = "none"; document.getElementById("cover").style.background = "white"; } else { document.getElementById("box").style.display = "block"; document.getElementById("cover").style.background = "#aaa"; } }
感兴趣的朋友可以使用在线HTML/CSS/JavaScript前端代码调试运行工具:http://tools.zyiz.net/code/WebCodeRun测试一下运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript页面元素操作技巧总结》、《JavaScript操作DOM技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。