手机端拉起半弹窗时静止背景页面的滚动

通常我们会在弹窗拉起时使用

 const noScroller = (e) => {
   e.preventDefault();
}
document.body.style.overflowY = 'hidden';
document.body.addEventListener('touchmove', noScroller, false);

但是在ios手机上会失效,这边使用另外一种方式解决背景滚动的问题
弹窗拉起时给body设置属性position: fixed

document.body.style.position = "fixed"

在弹窗隐藏时设置position为static

document.body.style.position = "static"

页面效果是:
弹窗升起的同时底部页面回到了了最上面

你可能感兴趣的:(手机端拉起半弹窗时静止背景页面的滚动)