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获取form表单值的代码
Jul 17 Javascript
JSON+JavaScript处理JSON的简单例子
Mar 20 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
Aug 12 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
js实现新年倒计时效果
Dec 10 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
jquery模拟多级复选框效果的简单实例
Jun 08 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
Vue中组件之间数据的传递的示例代码
Sep 08 Javascript
JS+css3实现幻灯片轮播图
Aug 14 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之第九天
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
JS之小练习代码
2008/10/12 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
jQuery 选择器理解
2010/03/16 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
require.js中的define函数详解
2017/07/10 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
小程序hover-class点击态效果实现
2019/02/26 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
python实现dict版图遍历示例
2014/02/19 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python读取中文txt文本的方法
2018/04/12 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
优秀员工自荐信范文
2013/10/05 职场文书
电子商务自荐书范文
2014/01/04 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书