背景:最近在写一个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出现弹出层时,禁止底部页面跟随滑动相关推荐

  1. JQuery弹出菜单时禁止页面(body)滚动

    最近在做手机端的弹出菜单,但是菜单弹出来后滑动手机屏幕的话页面滚动总是会将菜单滑上去,体验非常不好,所以查了一下弹出菜单时禁止页面滚动的方法,整理如下: 方法一:弹出菜单时给body和html添加一个 ...

  2. html弹出层全覆盖滚动条,JS弹出层遮罩,隐藏背景页面滚动条细节优化分析

    一.去除滚动条方法 给body添加overflow:hidden属性即可,IE6.7下不会生效,需要给html增加overflow:hidden属性 样式中需要对IE6.7及其它浏览器用hack辨别, ...

  3. 微信小程序自定义弹出模态框禁止底部滚动

    图示: wxml代码: <view class='fix_bottom'> <view>分享</view> <view>电话咨询</view> ...

  4. js怎么给div加滑动条 vue给弹出层加滑动条(一分钟学会用js加滚动条)

    @[TOC](怎么给div加滑动条 给弹出层加滑动条(一分钟学会js加滚动条)) 给div加滑动条 给需要滑动条的div加一个样式 加一个高度,加一个overflow:auto; overflow:a ...

  5. uniapp 自定义弹层时,底部页面滚动而弹层不能滚动

    今天做页面有个需求: 页面有个列表(A),内容过多时需要滚动, 然后做了个弹层,里面也有个列表(B),内容过多时需要滚动 由于A列表使用的web-view组件,而B列表使用view组件加overflo ...

  6. java怎么让遮罩层下面滚动_vue项目弹出层后禁止body底层的滚动事件

    1.新建utils/modalHelper.js文件 // 解决遮罩层滚动穿透问题,分别在遮罩层弹出后和关闭前调用 let _scrollTop class ModalHelper { // popu ...

  7. js实现弹出框时禁止页面滚动,关闭弹出框时恢复页面滚动

    $(function () {$('#pingtai').click(function () {if($('#serviceDes').css('display','none')){$('#servi ...

  8. css PC端弹窗时禁止底部页面滚动

    代码: <script> export default {name: "",data () {return {showDlg: false}},watch: {},cr ...

  9. WeChat------小程序弹窗开启时禁止底部页面滚动

        最近在做微信小程序的开发,涉及到自定义弹窗,然而当我的表单页面过长,同时自定义弹窗也过长,即两者都需要滚动的时候,问题出现了: 问题:当我滚动弹出窗页面时,会导致后面的页面也出现滚动的表现: ...

最新文章

  1. 怎么读取java文件,Java怎么读取文件
  2. 互联网1分钟 |1115
  3. Scala集合的常用方法:sum/max/min/product
  4. [C# 设计模式] Iterator - 迭代器模式:我与一份奥利奥早餐的故事
  5. Cyrus SASL Libary学习
  6. 留个坑,不知道为什么sqlite3要求组权限才能执行db:migrate,而可以直接执行db:......
  7. mysql打开数据库控制台_在控制台中操作MYSQL数据库步骤以及一些小问题
  8. 分布式事务综合案例分析
  9. wincc项目激活需要哪些服务器,WinCC创建服务器客户端项目
  10. java导出出行客人到Excel
  11. 技术赋能广告策略全升级,爱奇艺开启框内广告营销新篇章
  12. 【arcgis中两种路网密度计算结果对比】
  13. 脚本小子_python数据类型代码
  14. 生成.bks格式文件
  15. MyCat相关知识及测试要点
  16. 曲线解决问题。HTTP ERROR 403 No valid crumb was included in the request【重装到带CSRF 的版本】
  17. Geant4学习记录(二)B
  18. JavaWeb开发网上商城
  19. 中国易切削钢行业发展趋势及投资前景分析报告(2021-2026年)
  20. overleaf表格_LaTeX基本命令使用教程(清晰实例)(Overleaf平台)(论文排版)

热门文章

  1. HTTP post 上传
  2. Python break语句:多层循环中break是终止(或跳出)本层(也即所在层)循环,后者说是跳出最内层循环。也就是break只能跳出一层循环而不是多层循环
  3. 【题解】LuoGu4611:[COI2012] TRAMPOLIN
  4. Python根据关键词在360、百度、bing搜索下载图片
  5. echarts 热点泡泡图
  6. 理解 ES5, ES2015(ES6) 和 TypeScript
  7. 对弧长和坐标的曲线积分
  8. 虚拟机打开安卓模拟器VT
  9. 华为高级产品经理徐洪:高级产品经理的必经之路
  10. 计算机编码骂人,空间代码骂人的话,你看懂了多少?