vue移动端弹起蒙层滑动禁止底部滑动操作


Posted in Javascript onJuly 22, 2020

解决办法

在蒙层弹起的时候将body设置为fixed定位

在蒙层消失的时候将body恢复原位

popupVisible(newValue) {
  if (newValue) {
    document.body.style.position = 'fixed';
    document.body.style.width = '100%';
    document.body.style.height = '100%';
  }
  else {
    document.body.style.position = 'static';
    document.body.style.height = 'auto';
  }
},

设置为fixed的时候整个页面会恢复原位,如果需要把位置开始scrollY记下来,恢复的时候在滚到原来的位置

popupVisible(newValue) {
  if (newValue) {
    document.body.style.position = 'fixed';
    document.body.style.width = '100%';
    document.body.style.height = '100%';
    this.top = window.scrollY;
  }
  else {
    document.body.style.position = 'static';
    document.body.style.height = 'auto';
    window.scrollTo(0, this.top);
  }
}

补充知识:解决使用vue时页面内有弹窗时禁止页面滚动 以及页面内弹窗因绝对定位导致页面压缩的问题

如下所示:

@touchmove.prevent

当页面弹窗出现时设置 @touchmove.prevent = "false";

2.页面内弹窗因绝对定位导致页面压缩的问题 造成底部导航栏固定在输入键盘上面的问题

// 动态设置背景图的高度为浏览器可视区域高度
// 首先在Virtual DOM渲染数据时,设置下背景图的高度.
  this.bodyHeight = `${document.documentElement.clientHeight}`;
// 然后监听window的resize事件.在浏览器窗口变化时再设置下背景图高度.
 window.onresize = function temp() {
 var bodyHeight = `${document.documentElement.clientHeight}`;
 that.bodyHeight = bodyHeight;
 };

通过判断 bodyHeight 数值的变化,来控制底部导航栏的出现与隐藏

以上这篇vue移动端弹起蒙层滑动禁止底部滑动操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
jQuery使用each方法与for语句遍历数组示例
Jun 16 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
Feb 27 Javascript
jQuery动态产生select option下拉列表
Mar 15 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
webpack4简单入门实例
Sep 06 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 #Javascript
vue 弹出遮罩层样式实例
Jul 22 #Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 #Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 #Javascript
在vue中实现禁止回退上一步,路由不存历史记录
Jul 22 #Javascript
vue项目中使用多选框的实例代码
Jul 22 #Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 #Javascript
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
javascript 写类方式之一
2009/07/05 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
python实现从字典中删除元素的方法
2015/05/04 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python3 翻转二叉树的实现
2019/09/30 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
公司财务总监岗位职责
2013/12/14 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
护士个人年终总结
2015/02/13 职场文书
Apache POI的基本使用详解
2021/11/07 Servers
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript