日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

弹窗时候禁止页面滚动

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 弹窗时候禁止页面滚动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、依靠css 將頁面
document.documentElement.style.overflow='hidden';
?
document.body.style.overflow='hidden';//手機版設置這個。
如果設置了如上,頁面的滾動條將會消失,此時鼠標滾輪失效。

?

// 禁止鍵盤滾動頁面

var move=function(e){
e.preventDefault && e.preventDefault();
e.returnValue=false;
e.stopPropagation && e.stopPropagation();
return false;
? ? }
? ? var keyFunc=function(e){
if(37<=e.keyCode && e.keyCode<=40){
return move(e);
}
}
? ? document.body.οnkeydοwn=keyFunc;

?

// 一直顯示滾動條

var st;
? ? var scroll=function(e){
clearTimeout(st);
st=setTimeout(function(){
window.scrollTo(loc.scrollLeft,loc.scrollTop);
},5);
? ? }
? ? window.οnscrοll=scroll;
?

2、建立一個函數
function bodyScroll(event){ ?
? ? event.preventDefault(); ?
}?

之后在觸發彈窗的時候禁止頁面滾動
document.body.addEventListener('touchmove',bodyScroll,false); ?
$('body').css({'position':'fixed',"width":"100%"});

關閉彈框時開啟頁面滾動
document.body.removeEventListener('touchmove',bodyScroll,false); ??
$("body").css({"position":"initial","height":"auto"}); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

注意:切不可以下寫法
document.body.addEventListener('touchmove', function (event) { ?
? ? event.preventDefault(); ?
},false); ?
document.body.removeEventListener('touchmove', function (event) { ?
? ? event.preventDefault(); ?
},false);?

因為添加和移除的函數對象應該是同一個,要不然移除不起作用,即listener,所以不能直接用匿名函數function(e){e.preventDefault();}

轉載于:https://my.oschina.net/jack088/blog/3003051

總結

以上是生活随笔為你收集整理的弹窗时候禁止页面滚动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。