大家好,本次在开发项目中,点击按钮,弹出一个自定义的弹出窗口和遮罩层,因为页面的超出一屏,有滚动条,但是想让弹出窗时候,禁止浏览器滚动,那么就简单写一个方法给大家。
思路是这样的,当弹窗弹出时候,让body overflow: hidden; 超出隐藏,当取消弹窗时候,再让 overflow: visible; 恢复默认值即可。
在vue项目中,src文件中,自行新建js文件 tp-scroll.js,将下放代码放入
export default {
// 允许页面滚动
AddScroll () {
document.body.style.overflow = "visible";
},
// 禁止页面滚动
RemoveScroll () {
document.body.style.overflow = "hidden";
}
}
然后,可以在main.js中全局引入,也可以哪个组件用,哪个组件引用,如下
在组件js中引入 import TpScroll from '@/assets/resource/tp-scroll.js'
然后使用:
清除禁止滚动,恢复默认
TpScroll.AddScroll();
禁止滚动
TpScroll.RemoveScroll();
例如,我们在弹窗弹出时候,执行禁止滚动,关闭弹窗时候,执行恢复默认即可。
深圳 · 龙岗 · 大运软件小镇22栋201
电话:400 182 8580
邮箱:szhulian@qq.com