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 相关文章推荐
Ext 表单布局实例代码
Apr 30 Javascript
jquery+css+ul模拟列表菜单具体实现思路
Apr 15 Javascript
jquery不常用方法汇总
Jul 26 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
JavaScript浮点数及运算精度调整详解
Oct 21 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
JS+DIV实现的卷帘效果示例
Mar 22 Javascript
JavaScript实现换肤功能
Sep 15 Javascript
基于vue实现分页效果
Nov 06 Javascript
vuex操作state对象的实例代码
Apr 25 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 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中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
详解vue组件基础
2018/05/04 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
Django app配置多个数据库代码实例
2019/12/17 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
Python用SSH连接到网络设备
2021/02/18 Python
以太网Ethernet IEEE802.3
2013/08/05 面试题
介绍一下mysql的日期和时间函数
2013/03/28 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
面试通知邮件
2015/04/20 职场文书
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript