您现在的位置是:网站首页> 编程资料编程资料
Vue出现弹出层时禁止底部页面跟随滑动_vue.js_
2023-05-24
336人已围观
简介 Vue出现弹出层时禁止底部页面跟随滑动_vue.js_
背景:最近在写一个vue项目,当出现弹出层时,发现底部页面跟随滚动,但是产品不想要这种效果,于是找各种资料,发现很多说法,但是试了试,发现有的根本就不行,比如说有人提出用vue中提供的@touchmove.prevent方法来解决,但是我试了没起作用,或者@touchmove.prevent.stop也不起作用。下面是几种可以解决问题的方式,仅供参考:
1.在有弹出框的页面中,加上以下方法,弹出框出现时调用禁止滚动方法stopScroll(),弹出框去掉是调取允许滚动方法canScroll()即可,代码如下:
methods : { //禁止滚动 stopScroll(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow='hidden'; document.addEventListener("touchmove",mo,false);//禁止页面滑动 }, /***取消滑动限制***/ canScroll(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow='';//出现滚动条 document.removeEventListener("touchmove",mo,false); } }2.在全局js即main.js中,设置全局函数,在使用到的页面分别调用即可,代码如下:
//弹出框禁止滑动 Vue.prototype.stopScroll = function () { var mo = function (e) { e.preventDefault() } document.body.style.overflow = 'hidden' document.addEventListener('touchmove', mo, false)// 禁止页面滑动 } //弹出框可以滑动 Vue.prototype.canScroll = function () { var mo = function (e) { e.preventDefault() } document.body.style.overflow = ''// 出现滚动条 document.removeEventListener('touchmove', mo, false) }具体页面的调用方法如下:
//当需要禁止弹出框底部内容滑动时调用: this.stopScroll() //当需要页面恢复滑动功能时调用: this.canScroll()
注:以上方法适用于vue项目的移动端,如果是PC,等我写到继续完善。
到此这篇关于Vue出现弹出层时禁止底部页面跟随滑动的文章就介绍到这了,更多相关Vue 弹出层禁止底部滑动内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- 微信小程序使用webview打开pdf文档以及显示网页内容的方法步骤_javascript技巧_
- Vue3+TypeScript+Vite使用require动态引入图片等静态资源_vue.js_
- vue路由传参方式的方式总结及获取参数详解_vue.js_
- vue如何实现动态改变地址栏的参数值_vue.js_
- uni-app配置APP自定义顶部标题栏设置方法与注意事项_javascript技巧_
- Element中使用ECharts的项目实践_vue.js_
- React深入了解原理_React_
- uniapp打包成微信小程序的详细过程_javascript技巧_
- element-ui 表格sortable排序手动js清除方式_vue.js_
- VUE组件传参超详细讲解_vue.js_
