首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >jQuery遮罩(Mask)及弹窗时禁止页面滚动实现

jQuery遮罩(Mask)及弹窗时禁止页面滚动实现

作者头像
德顺
发布于 2019-11-13 10:35:12
发布于 2019-11-13 10:35:12
8.1K0
举报
文章被收录于专栏:前端资源前端资源

jQuery遮罩很容易实现,遮罩弹出后最好是要禁止页面滚动。

下面就写一个简单的遮罩,和禁止页面滚动的实例。

HTML:

代码语言:javascript
复制
<div id="mask" class="mask"></div>
<a href="javascript:;" onClick="showMask()" >显示遮罩层</a><br>
<a href="javascript:;" onClick="hideMask()" >隐藏遮罩层</a>

CSS:

代码语言:javascript
复制
.mask {       
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: #777;
    z-index: 9;
    filter: alpha(opacity=60); //IE透明度
    opacity:0.5; //Chrome
    -moz-opacity:0.5; //fireFox
}

jQuery:

代码语言:javascript
复制
//显示遮罩层
function showMask(){
    $("#mask").css("height",$(document).height());
    $("#mask").css("width",$(document).width());
    $("#mask").show();
}
//隐藏遮罩层
function hideMask(){
    $("#mask").hide();
}

禁止滚动:

代码语言:javascript
复制
#禁止浏览器滚动条滚动:
$('body').css({
      "overflow":"hidden"
});
#还原滚动: 
$('body').css({
    "overflow":"auto"
});

保险起见可以把 html 和 body 的高度都设置 100% ,如下,用添加 class 的方法实现:

CSS:

代码语言:javascript
复制
.ovfHiden{
    overflow: hidden;
    height: 100%;
}

jQuery:

代码语言:javascript
复制
$(".btn").click(function(){
    $('html,body').addClass('ovfHiden'); //使网页不可滚动
})
$(".btnc").click(function(){
    $('html,body').removeClass('ovfHiden'); //使网页恢复可滚
})

声明:本文由w3h5原创,转载请注明出处:《jQuery遮罩(Mask)及弹窗时禁止页面滚动实现》 https://cloud.tencent.com/developer/article/1537944

代码语言:txt
复制
     (adsbygoogle = window.adsbygoogle || []).push({});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档