mask 遮罩層彈窗禁止頁面滾動


1、css 樣式:

.mask{
    background: rgba(59, 59, 59, 0.9);
    /* opacity: 0.9; */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
}
.pop{
    background-color: #fff;
    position: fixed;
    width: 650px;
    padding: 20px 50px 50px;
    left: 50%;
    border-radius: 0.3rem;
    top: 45%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1002;
    display: none;
}

2、點擊事件:

$('.btn1').click(function() {
    $('.mask').css({'display': 'block'});
    $('.pop').css({'display': 'block'});
})
$('.mask').click(function() {
    $('.mask').css({'display': 'none'});
    $('.pop').css({'display': 'none'});
})

因為頁面有滾動條,所以此時,滾動條依然存在

  

 

 

 解決辦法如下:

//開啟遮罩層
function showMask(){
    //mask 高度設置為頁面高度
    $(".mask").css("height",$(document).height());     
    $(".mask").css("width","100%");
    $(".mask").show();
    //隱藏頁面滾動條
    $('body').css("overflow","hidden");
}  
//關閉遮罩層  
function hideMask(){         
    $(".mask").hide();  
    $('body').css("overflow","auto");
}

4、在點擊事件分別引入:

showMask();
hideMask();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM