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 相关文章推荐
用js实现多域名不同文件的调用方法
Jan 12 Javascript
jQuery知识点整理
Jan 30 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
canvas实现探照灯效果
Feb 07 Javascript
设置cookie指定时间失效(实例代码)
May 28 Javascript
vue实现消息的无缝滚动效果的示例代码
Dec 05 Javascript
基于Angularjs-router动态改变Title值的问题
Aug 30 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
Aug 20 Javascript
vue中用 async/await 来处理异步操作
Jul 18 Javascript
如何在VUE中使用vue-awesome-swiper
Jan 04 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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
JavaScript 常用函数库详解
2009/10/21 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python实现文件复制删除
2016/04/19 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
python实现杨氏矩阵查找
2019/03/02 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
班组长岗位职责
2014/03/03 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python