彈框出來以後禁止頁面滾動

項目中的一些公告內容,總是通過彈框的形式來實現,當彈框的內容太多,需要滾動提示,但此時我們滾動彈框,整個頁面也會跟着滾動,用戶體驗不是太好,如何解決這個問題,很簡單,我們可以在彈框顯示以後,禁止頁面滾動,等彈框消失以後再讓頁面滾動,代碼如下,可以分別在彈框顯示和隱藏的時候調用實現效果。

//禁止彈框後的頁面跟隨滾動
function fixed(){
    var scrollTop = $("body").scrollTop;//設置背景元素的位置
    $('#body').attr('data-top',scrollTop);
    var contentStyle = document.getElementById("body").style;//content是可以滾動的背景元素id名稱
    contentStyle.position = 'fixed'; //contentStyle是第二步的變量,設置背景元素的position屬性爲‘fixed’
    contentStyle.top = "-"+scrollTop+"px";
}

//關閉彈窗底部頁面恢復滑動
function fixed_cancel(){
    var contentStyle = document.getElementById("body").style;
    var scrollTop = $('#body').attr('data-top');//設置背景元素的位置
    contentStyle.top = '0px';//恢復背景元素的初始位置
    contentStyle.position ="static";//恢復背景元素的position屬性(初始值爲absolute,就恢復爲absolute,以此類推)
    $("body").scrollTop(scrollTop);//scrollTop,設置滾動條的位置
}
var bodys = "<body></body><div id=body></div></body>"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章