美文网首页
H5 移动端滚动穿透

H5 移动端滚动穿透

作者: Johnson杰 | 来源:发表于2019-04-08 11:08 被阅读0次

一般 H5 常见的活动页,如果当前页面超过一屏,同时在当前页面显示弹窗,整个页面依旧可以滚动

1.功能

常见的活动页问题,显示弹窗时,应当禁止滚动,锁住当前滚动高度

2.实现

2.1方案

显示弹窗时,记录滚动高度,body 标签 fixed,
隐藏弹窗时,body.scrollTop = 滚动高度,body 标签取消 fixed

2.2 代码实现(vuex)

// 全局样式
.model-open {
    position: fixed;
    width: 100%;
}

// store/index.js
// 打开 model
openModel(state, scrollTop) {
    state.scrollTop = scrollTop;
    document.body.classList.add('model-open');
    document.body.style.top = -state.scrollTop + 'px';
},
// 关闭 model
closeModel(state) {
    document.body.classList.remove('model-open');
    document.body.scrollTop = state.scrollTop;
}

2.3 特殊情况处理

(1)弹窗内容在弹窗容器内一屏展示的下
直接调用 openModel,closeModel

(2)弹窗内容在弹窗容器内一屏展示不下
在容器内部使用 better-scroll

参考文献,关于移动端的滚动穿透,别再跟风复制代码了

参考文献,html5 移动端滚动穿透 几种方案

参考文献,移动端滚动穿透问题完美解决方案

相关文章

  • H5移动端滚动穿透

    加 fixed 弹出层show的时候给body加fixed弹出层hide的时候把body的fixed去掉 加指令 ...

  • H5 移动端滚动穿透

    一般 H5 常见的活动页,如果当前页面超过一屏,同时在当前页面显示弹窗,整个页面依旧可以滚动 1.功能 常见的活动...

  • 移动端滚动穿透

    这个问题解决N遍了,再此记录下,免得再遇到浪费脑细胞 情况一:弹窗里面没有滚动条 思路:阻止touchmove事件...

  • 移动端滚动穿透问题

    定义:移动端弹出fixed弹窗的话,在弹窗上滑动会导致下层的页面跟着滚动,这个叫“滚动穿透” 解决方案1 在弹出层...

  • 移动端的滚动穿透

    问题:页面很长会有竖向的滚动,有个吸底的工具条,在吸底的工具条内容里手指上下拖动,不拖出外面,也能触发页面的滚动。...

  • 滚动穿透解决方案

    解决PC/移动端弹出层滚动穿透的问题。 描述 弹出层内容滚动时,body跟随滚动。 方案 法一: overflow...

  • 移动端兼容性问题2 body和html不能禁止滚动条出现

    网页版本没有显示滚动条 但是手机端安卓和ios手机不能禁止滚动条移动端滚动穿透问题完美解决方案html body ...

  • 滚动(移动端滑动)穿透问题

    在项目中遇到很多次滚动穿透问题,每一次都是看情况临时试解决方案能否可行,在这里统一总结一下 pc端model框弹出...

  • 移动端滚动穿透问题完美解决方案

    移动端滚动穿透问题完美解决方案https://uedsky.com/2016-06/mobile-modal-sc...

  • 前端面试每日 3+1 —— 第262天

    今天的知识点 (2020.01.03) —— 第262天 (我也要出题) [html] 移动端滚动穿透是什么原因?...

网友评论

      本文标题:H5 移动端滚动穿透

      本文链接:https://www.haomeiwen.com/subject/mpquiqtx.html