页面弹出canvas的实现

一、功能实现

//CSS部分
 <style type="text/css">
        .popWindow {
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            z-index: 1;
            position: absolute;

        }
        .maskLayer {
            width: 0.5rem;
            height: 0.5rem;
            left: 3%;
            top: 2%;
            color:#fff;
            z-index: 2;
            position: absolute;
        }
        .cavans {
            height: 100%;
            width: 100%;
        }

    </style>
//HTML部分
    <div id="popWindow" class="popWindow" style="display: none;">
        ![](../src/static/img/cavans.png)
    </div>
    <div id="maskLayer" class="maskLayer" style="display: none;" onclick="this.closeDiv()"></div>
//JS部分
function showDiv() {
          document.getElementById('popWindow').style.display = 'block';
          document.getElementById('maskLayer').style.display = 'block';
}
          
function closeDiv() {
     document.getElementById('popWindow').style.display = 'none';
     document.getElementById('maskLayer').style.display = 'none';
}

二、解决添加蒙层后页面滚动问题
1.功能实现后,我们发现由于页面过长导致其能够滚动,这会引起蒙层下方的正常页面也显示出来了。
我们将body设为overflow:hidden即可解决该问题。

document.getElementsByTagName("body")[0].setAttribute("style","overflow:hidden")

2.我们发现这样设置在移动端不起作用,所以我们为蒙层添加一个监听事件(addEventListener),该事件通过preventDefault()来禁用touchmove,即禁用了页面滚动这一事件,这样我们在移动端拖动的蒙层时候就不会引起页面滚动了。由于该事件仅作用于蒙层上,当我们关闭蒙层的时候,页面又能正常滚动了。

document.getElementById('popWindow').addEventListener('touchmove',function (event) {
            event.preventDefault();
          } ,false);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Meta标签: 这个想必大家都知道,当页面在手机上显示时,增加这个meta可以让页面强制让文档的宽度与设备的宽度保...
    iyimao阅读 366评论 0 1
  • AMD 和 CMD 的区别有哪些?AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 ...
    竿牍阅读 720评论 0 1
  • 关注“觉爱心语”公众微信账号的朋友们,可能发现,我们已有将近两个月的时间未更新文章。实话说,这两个月里,我一直在思...
    感恩觉爱阅读 279评论 0 0
  • 简单来说,屏幕上的每个像素点的颜色是由当前像素点上的多层layer(如果存在)共同决定的,GPU会进行计算出混合颜...
    FengxinLi阅读 354评论 0 0
  • 我现在在回金华的火车上,家里的事都结束了,觉得得跟你说一下俺大爷的事。俺大爷是阴历九月初七早晨走的,谁也没想到,都...
    蛊小孩阅读 191评论 0 0