本文实例讲述了JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能。分享给大家供大家参考,具体如下:
HTML部分:
点击除开div的区域可以弹出弹窗点击除开div和弹窗的区域可以关闭弹窗
CSS部分:
css;">#div{ /*设置z-index属性必须设置position:relative或absolute*/ position:relative; /*设置div位于遮罩的上方*/ z-index:2; 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; 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"; } }