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


Posted in Javascript onJuly 31, 2018

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

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

Javascript 相关文章推荐
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
js实现常用排序算法
Aug 09 Javascript
ReactJs设置css样式的方法
Jun 08 Javascript
JS查找数组中重复元素的方法详解
Jun 14 Javascript
angular2系列之路由转场动画的示例代码
Nov 09 Javascript
vue-cli中的babel配置文件.babelrc实例详解
Feb 22 Javascript
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
vue学习笔记之slot插槽用法实例分析
Feb 29 Javascript
微信网页授权并获取用户信息的方法
Jul 30 #Javascript
axios简单实现小程序延时loading指示
Jul 30 #Javascript
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 #Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
Jul 30 #Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 #Javascript
vscode中vue-cli项目es-lint的配置方法
Jul 30 #Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 #Javascript
You might like
解析PHP缓存函数的使用说明
2013/05/10 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
python实现360的字符显示界面
2014/02/21 Python
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
python识别验证码的思路及解决方案
2020/09/13 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
ktv好的活动方案
2014/08/17 职场文书
2014年团委工作总结
2014/11/13 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL