js实现蒙版效果


Posted in Javascript onJanuary 11, 2020

本文实例为大家分享了js实现蒙版效果展示的具体代码,供大家参考,具体内容如下

思路

1.监听按钮的点击
2.阻止冒泡(最关键的一点)
3.让隐藏的显示出来
4.隐藏滚动条
5.点击文档:获取点击的标签
判断:让显示的都隐藏
显示滚动条

<style>
    *{
      margin: 0;
      padding: 0;
    }
    html,body{
      width:100%;
      height:100%;
    }
    #panel{
      width:100%;
      height:2000px;
      background-color:#000;
      opacity: 0.4;  //透明度
      filter: alpha(opacity: 40);  //用于兼容IE浏览器
      position: absolute;
      top:0;
      left:0;
      display: none;
    }
    #box{
      width:300px;
      height:300px;
      background-color: #fff;
      position: absolute;
      top:50%;
      left:50%;
      margin-left:-150px;
      margin-top:-150px;
      display: none;
      border-radius: 5px;
    }
  </style>
</head>
<body>
  <button id="btn">登录</button>
  <div id="panel"></div>
  <div id="box"></div>
  <script src="js/myFunc.js"></script>
  <script>
    window.onload = function (){
      //1.监听事件的点击
      btn.onclick = function (event){

        //1.0 阻止冒泡
        if(event && event.stopPropagation){ //W3c标准
         event.stopPropagation();
        }else{ //IEx系列 IE 678
         event.cancelBubble = ture;
        }
        //1.1隐藏的显现出来
        $("box").style.display = "block";
        $("panel").style.display = "block";
        //1.2隐藏滚动条
        document.body.style.overflow = "hidden";
      }
      //2.点击文档
      document.onclick = function (event){
        var e = event || window.event;
        //2.1获取点击的标签
        var tranId = e.target ? e.target.id : e.srcElement.id;  //target:获取当前操作对象
        //2.2判断
        if(tranId !== "box"){
          //1.1显示的隐藏出来
          $("box").style.display = "none";
          $("panel").style.display = "none";
          //1.2显示滚动条
          document.body.style.overflow = "auto";
        }else{
          window.location.href = "http://www.baidu.com";
        }

      }
    }
</script>

最为重要的一点是要阻止事件冒泡
获取对象的id: var tranId = e.target ? e.target.id : e.srcElement.id;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
JavaScript中的apply()方法和call()方法使用介绍
Jul 25 Javascript
简单几行JS Code实现IE邮件转发新浪微博
Jul 03 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 Javascript
简单分析js中的this的原理
Aug 31 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
Jul 10 Javascript
js实现橱窗展示效果
Jan 11 #Javascript
vue实现购物车选择功能
Jan 10 #Javascript
webpack proxy 使用(代理的使用)
Jan 10 #Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 #Javascript
bootstrap实现嵌套模态框的实例代码
Jan 10 #Javascript
jQuery操作动画完整实例分析
Jan 10 #jQuery
基于JavaScript判断两个对象内容是否相等
Jan 10 #Javascript
You might like
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
对比分析json及XML
2014/11/28 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python解释器spython使用及原理解析
2019/08/24 Python
python tkinter控件布局项目实例
2019/11/04 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
详解Scrapy Redis入门实战
2020/11/18 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
董事长岗位职责
2013/11/30 职场文书
大学军训感言400字
2014/03/11 职场文书
质量保证书格式
2015/02/27 职场文书
产品调价通知函
2015/04/20 职场文书
开场白怎么写
2015/06/01 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android