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 相关文章推荐
Javascript miscellanea -display data real time, using window.status
Jan 09 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
Aug 14 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
Jan 13 Javascript
简介JavaScript中Math.LOG10E属性的使用
Jun 14 Javascript
JS设置下拉列表框当前所选值的方法
Dec 22 Javascript
JS Array.slice 截取数组的实现方法
Jan 02 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
JavaScript数据结构与算法之栈与队列
Jan 29 Javascript
Javascript基础学习笔记(菜鸟必看篇)
Jul 22 Javascript
JavaScript中对象的不同创建方法
Aug 12 Javascript
react如何快速设置文件路径别名
Apr 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自动判断字符集并转码的详解
2013/06/26 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python批量获取html内body内容的实例
2019/01/02 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python多线程thread及模块使用实例
2020/04/28 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
Python实现异步IO的示例
2020/11/05 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
统计岗位职责
2014/02/21 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
汽车转让协议书范本
2014/12/07 职场文书
高三毕业评语
2014/12/31 职场文书
护士自荐信范文
2015/03/25 职场文书
教师学习心得体会范文
2016/01/21 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
Python基础 括号()[]{}的详解
2021/11/07 Python