遮罩

作者: 遨游在bug中 | 来源:发表于2017-08-08 17:24 被阅读0次

写个遮罩,没想到写了一天。把前面的bug改了。真是前面有坑不填,后面坑等着你。
先说html

<div id="modal">
        <!-- <div class="close1">╳</div> -->
        <div class="close1"><i class="fa fa-close fa-2x"></i></div>
          <img src="<%g.thumb%>" />
        <div class="model-text"><span>关注XXXX<br>长按识别二维码</span></div>
</div>

本来想自己用::after::before伪类写的,但是发现自己没这个本事。去先学又浪费时间,只是草草看了一下。先是用x代替,发现太丑,然后就用特殊符号写,做完还是丑,于是乎只能用icon了。哎。

#modal{position: absolute; text-align: center;top: 0;left: 0;width: 100%;height:100%;background-color:rgba(9,9,9,0.8) ; z-index: 9;display: none;}
#modal img{width: 60%; margin: 0 auto;margin-top: 40% ;}
.model-text{font-size: 1rem;letter-spacing:10px;margin-top: 0.5rem; color: #fff}
 .close1{width: 2.5rem;height: 2.5rem; line-height: 1.5rem;position: absolute;display: inline-block;   overflow: hidden;right:0;margin:10px;border-radius: 50%;color: #fff;bottom: 0;top: 0; }

js的话对获取屏幕样式又不熟,只能自己一个个试。因为html有bug,发现body居然不包含着整个页面,真是奇了怪了
于是乎就F12一个个模块找,看是不是清浮动的问题,overflow的问题。找到后来发现,给body加个height:auto就好了。
我草,当时都心疼自己,找了那大半天。
Javascript:
  网页可见区域宽: document.body.clientWidth
  网页可见区域高: document.body.clientHeight
  网页可见区域宽: document.body.offsetWidth (包括边线的宽)
  网页可见区域高: document.body.offsetHeight (包括边线的高)
  网页正文全文宽: document.body.scrollWidth
  网页正文全文高: document.body.scrollHeight
  网页被卷去的高: document.body.scrollTop
  网页被卷去的左: document.body.scrollLeft
  网页正文部分上: window.screenTop
  网页正文部分左: window.screenLeft
  屏幕分辨率的高: window.screen.height
  屏幕分辨率的宽: window.screen.width
  屏幕可用工作区高度: window.screen.availHeight
  屏幕可用工作区宽度: window.screen.availWidth
JQuery:
 $(document).ready(function(){
  alert($(window).height()); //浏览器当前窗口可视区域高度
  alert($(document).height()); //浏览器当前窗口文档的高度
  alert($(document.body).height());//浏览器当前窗口文档body的高度
  alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin
  alert($(window).width()); //浏览器当前窗口可视区域宽度
  alert($(document).width());//浏览器当前窗口文档对象宽度
  alert($(document.body).width());//浏览器当前窗口文档body的宽度
  alert($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin
  })
因为不太清楚获取高,所以第一次遮罩是有bug 的,位置居然不对,然后百度了一波。百度是个好东西啊。

var modal = document.getElementById('modal');
var btn  = document.querySelector('.guanzhu');
    btn.onclick = function(){
        var nowHeight = $(window).height();//获取到可视区的高度
        var bodyHeight = $(document).height();//获取到整个文档的高度
        var winScoll ;//滚动高度初始化
        modal.style.top  = bodyHeight - nowHeight + 'px';//因为点击获取二维码在下面,所以的,文档高度-可视区的高度=top距离
        modal.style.display = 'block';
        //这个就是手机端阻止页面滑动,顺便兼下ie可能没什么用
        $("body").on("touchmove",function(event){
            if(event.preventDefault){
                event.preventDefault();
            }else{
                event.returnValue=false;
            }
        })

        //本来想着用户滚动遮罩也随着滚动,但是有ui说,哪有人遮罩出来了还能滚的,这个就废了,白写了,但是我没删。
        $(window).scroll(function(event){
            winScoll = $(window).scrollTop();
            modal.style.top  =winScoll + 'px';
        });
        
    }
    var close = document.querySelector('.close1');
    close.onclick = function(){
        modal.style.display = 'none';
//这边就是释放阻止滑动了
        $("body").off("touchmove");
    }

相关文章

  • 遮罩

    遮罩 其它遮罩

  • Pr19-Premiere特效滤镜:键控-轨道遮罩

    效果-键控-轨道遮罩键:上图形,下背景 文字层在上方:遮罩层 背景层在下方:被遮罩层 给被遮罩层添加“轨道遮罩键”...

  • Axure实现遮罩效果

    很多时候我们在编辑视频的时候经常需要用到遮罩的效果,一般制作遮罩动画,就是指一个遮罩层同时遮罩多个被遮罩层的遮罩动...

  • 【工具教程集】ZBrush中的实时遮罩

    在ZBrush中有许多遮罩类型,包括柔滑遮罩、反转遮罩,实时遮罩等。其中,实时遮罩又包含很多种类,它不同于一般的遮...

  • Swift 添加两种遮罩的方式

    没有遮罩前的效果 代码实现 遮罩方式一 代码实现 遮罩方式二 代码实现 实战 -- 二维码扫描区域遮罩 代码实现 ...

  • UI跟随鼠标移动

    遮罩面板 遮罩面板的重写 点击传递事件

  • cocos2dx遮罩

    遮罩是很多地方都能用到的东西,新手教程,截图等等,都能用遮罩来实现。 遮罩的原理知其然,知其所以然。遮罩其实可以理...

  • 放大镜效果

    核心原理1、鼠标经过遮罩层显示,离开隐藏;2、移动鼠标遮罩层跟随,鼠标超出大盒子后遮罩层不跟随出框;3、移动遮罩层...

  • 遮罩层实现

    代码如下 实现效果:点击按钮,显示遮罩层,弹出弹框点击遮罩层,隐藏遮罩层,隐藏弹框

  • iOS中的图片遮罩处理

    光影遮罩 这里我分类深色与浅色遮罩,效果是什么样呢,可以看下面的图片,第一张是原图,后面是遮罩图。 深色遮罩 浅色...

网友评论

      本文标题:遮罩

      本文链接:https://www.haomeiwen.com/subject/aaztrxtx.html