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 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
js 立即调用的函数表达式如何写
Jan 12 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
深入对Vue.js $watch方法的理解
Mar 20 Javascript
JavaScript使用readAsDataURL读取图像文件
May 10 Javascript
js匿名函数使用&传参(实例)
Sep 08 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
微信小程序引入VANT组件的方法步骤
Sep 19 Javascript
ES6 Generator基本使用方法示例
Jun 06 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 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实现的微信红包算法分析(非官方)
2015/09/25 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
原生js实现弹幕效果
2020/11/29 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
图文详解WinPE下安装Python
2016/05/17 Python
详解django中自定义标签和过滤器
2017/07/03 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
安装PyInstaller失败问题解决
2019/12/14 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
如何用python写个模板引擎
2021/01/14 Python
出国留学自荐信
2013/10/25 职场文书
葬礼司仪主持词
2014/03/31 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
爱国之歌(8首)
2019/09/29 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python