页面元素:
1、有个width:1200px;height:2300px的页面;
2、有一个遮罩层,填满了整个可视页面;
3、遮罩层上浮动一个居中的div弹窗;
//当弹窗出现时触发此函数 var scrollTop = document.body.scrollTop;//保存点击前滚动条的位置 window.onscroll=function(){ document.body.scrollTop = scrollTop;//赋值给滚动条的位置 }; //当弹窗隐藏时触发此函数 window.onscroll=function(){ document.body.scrollTop = document.body.scrollTop;//赋值给滚动条的位置 }; //目前只想到了这个方法,希望能帮到你。缺点是当弹窗为显示状态时滑动页面会出现颤动情况。
pc端:
//为了简便定义一个样式类
<style type="text/css">
.html-body-overflow
{
overflow-x:hidden;
overflow-y:hidden;
}
</style>
<script type="text/javascript">
//禁止滚动条(默认是没有附加这个样式类的)
$(document.body).toggleClass("html-body-overflow");
//启动滚动条
$(document.body).toggleClass("html-body-overflow");
</script>
移动端:
$(document).on(
'touchmove'
,
function
(e){
e.preventDefault();
})