脚本宝典收集整理的这篇文章主要介绍了vue 弹框产生的滚动穿透问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
首先定义一个全局样式:
.noscroll{
posITion: fixed;
left: 0;
top: 0;
width: 100%;
}
创建一个dom.js文件,定义几个方法:
export function hasClass(el, classname) {
let reg = new RegExp('(^|\s)' + className + '(\s|$)')
return reg.test(el.className)
}
export function addClass(el, className) {
if (hasClass(el, className)) {
return
}
if(el.className === ''){
el.className += className
}else{
let newClass = el.className.split(' ')
newClass.push(className)
el.className = newClass.join(' ')
}
}
export function removeClass(el,className) {
if (hasClass(el, className)) {
el.className = el.className.replace(new RegExp('(\s|^)' + className + '(\s|$)'), '');
};
}
this.htmlDom = document.getelementsbytagname('html')[0];
在弹框弹出来的时候:
addClass(this.htmlDom, 'noscroll');
弹框关闭的时候
removeClass(this.htmlDom, 'noscroll');
这样就可以解决滚动穿透的问题了~
以上是脚本宝典为你收集整理的vue 弹框产生的滚动穿透问题全部内容,希望文章能够帮你解决vue 弹框产生的滚动穿透问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。