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实现的文字淡入淡出效果
Nov 14 Javascript
遍历js中对象的属性和值的实例
Nov 21 Javascript
canvas绘制环形进度条
Feb 23 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
Jul 12 Javascript
深入理解vue $refs的基本用法
Jul 13 Javascript
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 Javascript
vue.js中npm安装教程图解
Apr 10 Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
微信小程序 如何获取网络状态
Jul 26 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
Feb 03 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
解析php中const与define的应用区别
2013/06/18 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
js word表格动态添加代码
2010/06/07 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
EsLint入门学习教程
2017/02/17 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python递归函数特点及原理解析
2020/03/04 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
标准自荐信范文
2014/01/29 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
旷课检讨书
2015/01/26 职场文书
个人优缺点总结
2015/02/28 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
PHP使用QR Code生成二维码实例
2021/07/07 PHP
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python
Python使用openpyxl模块处理Excel文件
2022/06/05 Python