利用遮罩实现点击某区域以外时弹窗的弹出与关闭

HTML: <div id="div">点击除开div的区域可以弹出弹窗</div><div id="cover"></div><div id="box">点击除开div和弹窗的区域可以关闭弹窗</div> CSS:...
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";
}
}

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
廖雪
廖雪

78 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. Stevengring 0 文章