解决背景跟随弹窗滚动问题

332 阅读1分钟

我尝试了哪些方案:

1、弹框出来的时候设置

$('body').css({  'overflow':'hidden'})

弹框关闭的时候设置 :

$('body').css({   'overflow':''})

在手机真机上,手机滑动往下的过程中,手机屏幕变大, 这个设置就会失效。Pass

2、我没还测试,容我测试一下。没有问题了我来回复。 

这个方案暂时没有发现问题,
发现问题了。 2023/06/09 📝

在实践的过程中遇到的问题:要小心stopScroll不能调用2次,调用2次,滚动条的位置就会为0

stopScroll () {        // 展示弹窗时,阻止背景滚动        
 let top =document.body.scrollTop || document.documentElement.scrollTop;        
$('body').css({           
 "position":"fixed",            
 "top":`${-1 * top}px`,            
 "width":"100%"        
})     
},     
recoverScroll () {        //隐藏弹窗时,恢复背景的滚动        
let top = -parseInt(document.body.style.top);         
$('body').css({            
"position":"static",            
"top":'0'        
})        
window.scrollTo(0,top);    
},

转自:blog.csdn.net/u012193330/…