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 相关文章推荐
javascript与webservice的通信实现代码
Dec 25 Javascript
js自执行函数的几种不同写法的比较
Aug 16 Javascript
JavaScript实现的简单烟花特效代码
Oct 20 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
vue 设置 input 为不可以编辑的实现方法
Sep 19 Javascript
layui 中select下拉change事件失效的解决方法
Sep 20 Javascript
JavaScript this使用方法图解
Feb 04 Javascript
微信小程序选择图片控件
Jan 19 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简单生成随机数的方法
2015/07/30 PHP
php生成二维码
2015/08/10 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
常用一些Javascript判断函数
2012/08/14 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
python 绘制正态曲线的示例
2020/09/24 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
C#实现启动一个进程
2016/10/01 面试题
销售人员获奖感言
2014/02/05 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP