关于移动端滚动穿透问题的解决
关于移动端滚动穿透问题的解决
移动端滚动穿透问题:在移动端进行fixed弹窗的时候,在弹窗上滑动会导致下层页面跟着滚动,影响用户体验,这种现象称为‘滚动穿透’。
三种解决办法中,视需求选择解决办法:
方法一:overflow:hidden;
在列表容器的父容器设置样式overflow:hidden来禁用滚动
html.vox , html.vox body{ height:100%; overflow:hidden;}
当弹出弹窗的时候,为底部页面HTML添加样式,取消弹窗的时候删除样式
这种方式的缺点就是当弹窗弹出的时候,禁用了HTML和body的滚动条,滚动条列表的滚动位置会丢失,重置到没有滚动的状态。需要js重置;(不推荐使用)
方式二:阻止touchmove默认事件
通过阻止touchmove事件禁用滚动事件
var modal = document.getElementById('modal'); modal.addEventListener('touchmove',function(e){e.preventDefault(); },false);
缺点:弹窗里滚动事件也会失效,所以如果弹窗内容不会出现滚动时可以使用
方式三:position:fixed
var ModalHelper = (function(bodyCls){var scrollTop;return{afterOpen:function(){scrollTop = document.scrollingElement.scrollTop;ndocument.body.classList.add(bodyCls);document.body.style.top = -scrollTop+'px';},beforeClose:function(){document.body.classList.remove(bodyCls); document.scrollingElement.scrollTop = scrollTop;}}})('modal-open');function openModal(){ModalHelper.afterOpen();}function closeModal(){ModalHelper.beforeClose();}
这种方式能够完美避免上两种方法的弊端,推荐使用。
转载于:https://www.cnblogs.com/DreamerLeaf/p/9968069.html
关于移动端滚动穿透问题的解决相关推荐
- 移动端滚动穿透问题完美解决方案
移动端滚动穿透问题完美解决方案 参考文章: (1)移动端滚动穿透问题完美解决方案 (2)https://www.cnblogs.com/yaiza/p/11384130.html 备忘一下.
- 移动端滚动穿透的6种解决方案
移动端滚动穿透的6种解决方案 参考文章: (1)移动端滚动穿透的6种解决方案 (2)https://www.cnblogs.com/bigkuan/p/11977674.html 备忘一下.
- 移动端滚动穿透与滚动溢出解决方案
滚动穿透 滚动穿透.gif 问题描述 在移动端 WEB 开发的时候(小程序也雷同),如上录屏所示,如果页面超过一屏高度出现滚动条时,在 fixed 定位的弹窗遮罩层上进行滑动,它下面的内容也会跟着一起 ...
- js - 移动端的超出滚动功能,附带滚动条,可解决弹层中滚动穿透问题。
背景: 弹层里边有可滚动区域时,在移动端的坑我就不多说了. 找了很多解决滚动穿透的方案,最终都不能完美解决. 一气之下自己js撸了一个. 效果图: 原理: 1.解决滚动穿透:通过给弹层绑定touchm ...
- 当uniapp遇上滚动穿透,巧妙的解决方式~
上一次遇上这个滚动穿透,我是暴力解决的,当uniapp遇上可恶的滚动穿透的时候,我是怎么暴力解决的,今天学会了一个巧妙的方式,几行代码,超级方便好用,爱了爱了- 就是利用page-meta标签的pag ...
- uniapp 微信小程序和H5的弹窗滚动穿透解决
滚动穿透: 页面里的弹窗也是可以滚动的,然后页面本身内容多所以也是滚动的,就造成,在弹窗滚动的时候,页面内容也跟着滚动了.如图所示 ps: 电脑端分鼠标滚轮滚动和长按鼠标拖拽滚动,手机端只有触屏滑屏滚 ...
- 解决弹出框滚动穿透的问题(问题是body也会滚动)
解决弹出框滚动穿透的问题(问题是body也会滚动) 参考文章: (1)解决弹出框滚动穿透的问题(问题是body也会滚动) (2)https://www.cnblogs.com/ghfjj/p/8317 ...
- 移动端页面滚动穿透问题解决方案
移动端页面滚动穿透问题解决方案 参考文章: (1)移动端页面滚动穿透问题解决方案 (2)https://www.cnblogs.com/GeniusLyzh/p/5808446.html 备忘一下.
- 解决微信小程序ios端滚动卡顿的问题
解决微信小程序ios端滚动卡顿的问题 参考文章: (1)解决微信小程序ios端滚动卡顿的问题 (2)https://www.cnblogs.com/goloving/p/10563472.html 备 ...
最新文章
- 【数理知识】《积分变换与场论》王振老师-第5章-场论
- 关于在hue当中调shell脚本的操作(这里的shell 脚本是在shell脚本当中嵌套shell脚本的操作使用source的方式)...
- JS正则表达式校验金额
- 自动刷新获取wifi信号强度,android
- 一段CyclicBarrier代码
- python散点图如何设置外边框_如何绘制散点图的外围边框?
- 竟然有如何奇葩的如厕方式......
- java.util.concurrent包
- Nginx 限制并发连接数。
- 调用Android自带浏览器打开网页
- 重看经典动漫《火影忍者》的一些感受
- 面试官最爱问的Redis(三)Redis的基本知识
- 图像mnf正变换_基于MNF 变换的多元变化检测变化信息的集中
- java实验报告6:异常处理程序设计
- 机器人可操作度 matlab,双臂机器人运动学与可操作性及其优化的研究
- mysql:triggers
- 第二次计算机水平考试是什么,第二次计算机二级考试试题及答案
- 正点原子STM32F4探索者开发板HAL库触摸屏例程移植到STM32CubeMX+CLion
- 商城系统:包含用户注册/用户登陆/商品浏览/我的购物车功能.
- 番茄助手 VS2015
热门文章
- 【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- struts 的action 线性安全问题
- GossipView:圆圈布局的自定义view
- 边缘AI:国内首个高性能神经网络认知+项目实战发布
- 准确估计透明物体的 3D 姿态:机器人收集 + Keypose 算法
- 使用 YOLOv5 训练自动驾驶目标检测网络
- 画手cv什么意思_lt;3招gt;助你搞定工科出国留学申请简历(CV)!
- Facebook 开源:PyTorchVideo!
- 计算机视觉论文-2021-06-28
- 收藏 | 使用 Mask-RCNN 在实例分割应用中克服过拟合