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 相关文章推荐
什么是DOM(Document Object Model)文档对象模型
Mar 05 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
js判断undefined变量类型使用typeof
Jun 03 Javascript
js实现在同一窗口浏览图片
Sep 17 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
jquery插件之文字间歇自动向上滚动效果代码
Feb 25 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
Mar 06 Javascript
jquery使用FormData实现异步上传文件
Oct 25 jQuery
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 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
PHP教程 预定义变量
2009/10/23 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
nodejs aes 加解密实例
2018/10/10 NodeJs
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
vue如何截取字符串
2019/05/06 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
vue中activated的用法
2021/01/03 Vue.js
python时间整形转标准格式的示例分享
2014/02/14 Python
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
django中ImageField的使用详解
2020/12/21 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
Java语言程序设计测试题改错题部分
2014/07/22 面试题
国际商务专业求职信
2014/07/15 职场文书
离婚协议书范文2015
2015/01/26 职场文书
不同意离婚答辩状
2015/05/22 职场文书
繁星春水读书笔记
2015/06/30 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
Python if else条件语句形式详解
2022/03/24 Python
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript