您现在的位置是:网站首页> 编程资料编程资料
vue遮罩层如何阻止滚动_vue.js_
2023-05-24
379人已围观
简介 vue遮罩层如何阻止滚动_vue.js_
vue遮罩层阻止滚动
给vue用fixed定位加一个遮罩层,滚动鼠标滚轮发现下面一层的页面随之滚动,那么如何阻止下层页面滚动?
我这里给遮罩层加一个取消鼠标滚轮默认行为的事件
弹框内容
mousewheel(e){ e.preventDefault(); }或者使用vue中提供 @touchmove.prevent 方法可以完美解决这个问题
这会造成一个问题虽然遮罩层滚动问题解决了,但是弹框中的内容要是滚动会间接性的影响到遮罩层的滚动,那么如何解决?
网上查了很多资料,试了一下没有效果,我这里的解决方案是点击详情的时候弹出遮罩层,弹出的时候给body设置overflow:hidden当点击关闭遮罩层时,设置overflow:null
代码如下:
// 遮罩层 // 弹框内容 (已设置overflow:scroll超出滚动)// 关闭按钮
![]()
// 这是列表数据点击时 details(e) { this.dts=e this.show=!this.show var body = document.getElementsByTagName('body')[0] console.log(body) body.style.overflow='hidden' }, // 这是点击关闭按钮时 gb() { this.show=!this.show var body = document.getElementsByTagName('body')[0] console.log(body) body.style.overflow=null }vue解决遮罩层滚动方法
vue遮罩层阻止默认滚动事件
在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面。
vue中提供 @touchmove.prevent 方法可以完美解决这个问题
或者给不需要滚动的部分加上overflow:hidden属性解决
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- JS实现表格响应式布局技巧_javascript技巧_
- Vue实现监听某个元素滚动,亲测有效_vue.js_
- vue如何监听页面的滚动的开始和结束_vue.js_
- vue全局数据管理示例详解_vue.js_
- React Hook 四种组件优化总结_React_
- vue中监听input框获取焦点及失去焦点的问题_vue.js_
- vue项目中销毁window.addEventListener事件监听解析_vue.js_
- 浏览器视频帧操作方法 requestVideoFrameCallback()_javascript技巧_
- element-ui表单提交自动清空隐藏表单值实现_vue.js_
- JavaScript垃圾回收机制(引用计数,标记清除,性能优化)_javascript技巧_
