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 相关文章推荐
一个简单的js鼠标划过切换效果
Jun 30 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
超简单JS二级、多级联动的简单实例
Feb 18 Javascript
JavaScript实现在标题栏上显示当前日期的方法
Mar 19 Javascript
BootStrap响应式导航条实例介绍
May 06 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
Dec 06 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 Javascript
微信小程序城市选择及搜索功能的方法
Mar 22 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
python获取array中指定元素的示例
2019/11/26 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
学校综治宣传月活动总结
2014/07/02 职场文书
大学生交通专业求职信
2014/09/01 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
人事主管岗位职责
2015/02/04 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
污水处理保证书
2015/05/09 职场文书
Python初识逻辑与if语句及用法大全
2021/08/07 Python