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 相关文章推荐
模仿JQuery sortable效果 代码有错但值得看看
Nov 05 Javascript
JS 实现完美include载入实现代码
Aug 05 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
老生常谈JQuery data方法的使用
Sep 09 Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
使用vue实现HTML页面生成图片的方法
Mar 12 Javascript
vue实现公共方法抽离
Jul 31 Javascript
Html5生成验证码的示例代码
May 10 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中的数组操作函数整理
2008/08/18 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
合作投资意向书
2014/04/01 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
合作协议书范本
2014/10/25 职场文书
陕西导游词
2015/02/04 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python