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 相关文章推荐
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 Javascript
JS target与currentTarget区别说明
Aug 28 Javascript
用jquery存取照片的具体实现方法
Jun 30 Javascript
javascript继承机制实例详解
Nov 20 Javascript
jQuery中scrollLeft()方法用法实例
Jan 16 Javascript
JS取数字小数点后两位或n位的简单方法
Oct 24 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
Sep 05 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
Vue项目中如何封装axios(统一管理http请求)
May 02 Vue.js
在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
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
javascript 写类方式之三
2009/07/05 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
基于Python正确读取资源文件
2020/09/14 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
结构工程研究生求职信
2013/10/13 职场文书
大门门卫岗位职责
2013/11/30 职场文书
烹调加工管理制度
2014/02/04 职场文书
党员志愿者活动方案
2014/08/28 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
加入学生会自荐书
2015/03/05 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS