JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例

 更新时间:2018年07月31日 08:41:17   作者:筱葭  
这篇文章主要介绍了JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能,结合实例形式分析了javascript事件响应及页面元素属性动态操作弹出与关闭遮罩层相关实现技巧,需要的朋友可以参考下

本文实例讲述了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.jb51.net/code/WebCodeRun测试一下运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript页面元素操作技巧总结》、《JavaScript操作DOM技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • vue渲染大量数据时卡顿卡死解决方法

    vue渲染大量数据时卡顿卡死解决方法

    这篇文章主要介绍了vue渲染大量数据时发生卡顿卡死问题时的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • javascript实现行拖动的方法

    javascript实现行拖动的方法

    这篇文章主要介绍了javascript实现行拖动的方法,涉及javascript鼠标事件及页面元素的相关操作技巧,需要的朋友可以参考下
    2015-05-05
  • 鼠标悬停小图标显示大图标

    鼠标悬停小图标显示大图标

    这篇文章主要介绍了鼠标悬停小图标显示大图标的相关资料,需要的朋友可以参考下
    2016-01-01
  • layui自定义ajax左侧三级菜单

    layui自定义ajax左侧三级菜单

    这篇文章主要为大家详细介绍了layui自定义ajax左侧三级菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • JavaScript的级联函数用法简单示例【链式调用】

    JavaScript的级联函数用法简单示例【链式调用】

    这篇文章主要介绍了JavaScript的级联函数用法,结合简单实例形式分析了javascript链式调用具体定义及使用方法,需要的朋友可以参考下
    2019-03-03
  • JavaScript Alert通用美化类

    JavaScript Alert通用美化类

    只有msg是必须的,后面的参数可以省略。如果中间的参数为空则在对应位置上''或者""表示(根据实际情况选择单双引号) 调用此方法须在每个使用的页面的head区域加入下面代码。
    2009-11-11
  • 微信小程序用户自定义模版用法实例分析

    微信小程序用户自定义模版用法实例分析

    这篇文章主要介绍了微信小程序用户自定义模版用法,结合实例形式较为详细的分析了微信小程序自定义模板的定义、数据调用、布局设置等简单使用技巧,需要的朋友可以参考下
    2017-11-11
  • 一篇文章告诉你如何用事件委托实现JavaScript留言板功能

    一篇文章告诉你如何用事件委托实现JavaScript留言板功能

    这篇文章主要为大家介绍了事件委托实现JavaScript留言板功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • IE关闭时判断及AJAX注销案例学习

    IE关闭时判断及AJAX注销案例学习

    当关闭系统时会提示:你确定要退出系统吗?退出请按'离开此页'接下来将讲解下IE关闭判断及AJAX注销,感兴趣的你可不要错过了哈,希望本例对你学习ajax有所帮助
    2013-02-02
  • 详解js中Number()、parseInt()和parseFloat()的区别

    详解js中Number()、parseInt()和parseFloat()的区别

    本文主要对js中Number()、parseInt()和parseFloat()的区别进行详细介绍,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12

最新评论