PC端/移动端 禁止底层页面滚动

在页面中弹出层后。如果是弹出的页面滚动到顶部 / 底部后。在拖动 body 也会一起跟着滚动


PC端解决方案:
在蒙版层弹出时,加上这句代码:

document.body.parentNode.style.overflow = "hidden";  //禁止横竖向滚动条

在弹出层页面关闭时:

document.body.parentNode.style.overflow = "auto";  //恢复横竖向滚动条

移动端解决方法:
需要先添加一个函数,也可以不添加

function bodyScroll(e){
   e.preventDefault();   //取消事件默认动作
   e.stopPropagation();  //不再派发事件
}

在弹出层显示时:

document.addEventListener("touchmove",bodyScroll,false);

在弹出层关闭时:

document.removeEventListener("touchmove",bodyScroll,false);

**THE END**

猜你喜欢

转载自blog.csdn.net/Jioho_chen/article/details/84303668