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 相关文章推荐
prototype 1.5 & scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
jQuery滚动加载图片效果的实现
Mar 06 Javascript
jquery实现图片裁剪思路及实现
Aug 16 Javascript
jQuery实现简单的图片查看器
Sep 11 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
React-Native之定时器Timer的实现代码
Oct 04 Javascript
angularjs使用div模拟textarea文本框的方法
Oct 02 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
Jul 09 Javascript
vue 页面跳转的实现方式
Jan 12 Vue.js
解析原生JS getComputedStyle
May 25 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与SQL注入攻击[一]
2007/04/17 PHP
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
js 字符串操作函数
2009/07/25 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
PyQt5 多窗口连接实例
2019/06/19 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
介绍一下Ruby的特点
2013/01/20 面试题
建筑实习自我鉴定
2013/10/18 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
运动会广播稿200米
2014/01/27 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
同学毕业留言寄语
2015/02/27 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
Oracle 触发器trigger使用案例
2022/02/24 Oracle