[bug]小程序弹出层滚动穿透问题修复
2018-02-23 14:23
411 查看
如题,解决方案有两种:
1、如果弹出层没有滚动事件,就直接在蒙板和弹出层上加 catchtouchmove;(最简单有效)
2、如果弹出层有滚动事件,有两种方法:
方法一
在弹出层出现的时候给底部的containerView加上一个class,消失的时候移除。
这种方法简单有效,但会改变页面原本滚动的位置(会滚动到顶部)。
方法二
给底部的containerView用
这个方法解决了方案一带来的问题,但因为使用了
在 scroll-view 内有fixed定位的隐藏内容,会闪现一下,然后再隐藏的诡异bug。解决办法是将其移动到 scroll-view 外面
tip: 请勿在 scroll-view 中使用 textarea、map、canvas、video 组件
tip: scroll-into-view 的优先级高于 scroll-top
tip: 在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh
tip: 若要使用下拉刷新,请使用页面的滚动,而不是 scroll-view ,这样也能通过点击顶部状态栏回到页面顶部
如何取舍,就看你啦~~
1、如果弹出层没有滚动事件,就直接在蒙板和弹出层上加 catchtouchmove;(最简单有效)
2、如果弹出层有滚动事件,有两种方法:
方法一
在弹出层出现的时候给底部的containerView加上一个class,消失的时候移除。
<view class="{{showMask?'not-scroll':''}}"> .not-scroll{ top:0px; left: 0px; width: 100%; height: 100%; overflow: hidden; position: fixed; z-index: 0; }
这种方法简单有效,但会改变页面原本滚动的位置(会滚动到顶部)。
方法二
给底部的containerView用
<scroll-view>包裹起来,动态设置
scroll-y,注意需要添加额外的样式:
//somefile.wxss .page, page { height: 100%; overflow: hidden; } scroll-view { height: 100%; } // somefile.wxml <scroll-view scroll-y="{{!showMask}}" scroll-with-animation enable-back-to-top="{{!showMask}}"> </scroll-view>
这个方法解决了方案一带来的问题,但因为使用了
<scroll-view>标签,又存在以下问题:
在 scroll-view 内有fixed定位的隐藏内容,会闪现一下,然后再隐藏的诡异bug。解决办法是将其移动到 scroll-view 外面
tip: 请勿在 scroll-view 中使用 textarea、map、canvas、video 组件
tip: scroll-into-view 的优先级高于 scroll-top
tip: 在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh
tip: 若要使用下拉刷新,请使用页面的滚动,而不是 scroll-view ,这样也能通过点击顶部状态栏回到页面顶部
如何取舍,就看你啦~~
相关文章推荐
- 小程序弹出层---史上最简单写法,已解决滚动穿透问题
- 小程序:微信小程序中遮罩层的滚动穿透问题
- 现在为了让程序兼容vista,我们需要给程序加上一个manifest文件,可是有时候vc6它就会弹出Resource Compiler Error RC2170 的错误,可能是vc6一个bug,我个人对vc6还是很喜欢的,不过经常会有编译死掉或出错的问题,
- 微信页面弹出窗口,底部不随窗口滑动而滚动,子页面滚动,父页面也动bug修复!
- 移动端弹出层滚动穿透问题总结
- 修复ios上第三方输入法弹出时输入键盘盖住网页没有进行相应滚动从而盖住表单输入框的问题
- 微信小程序中遮罩层的滚动穿透问题
- 项目问题备忘之IE6、IE7父元素滚动,子元素不跟随滚动bug和点击穿透bug
- 周末发现一个BUG,时有时无,一出程序就崩溃,郁闷了好久,终于跟出来来了,记之,提醒自己今后一定规范编写,只要规范,绝对不会出问题
- QT的一个奇怪问题,设置了Qt::Tool后,点击弹出对话框的确定取消按钮,程序直接退出。
- 程序电脑VS2008 应用程序配置不正确,未能启动该应用程序。重新安装程序可以修复此问题。解决方法
- duilib combo控件,当鼠标滚动时下拉列表自动关闭的bug的修复
- ios程序编译链接参数 all_load 的 ld duplicate symbol _main 的 bug及修复
- vc2005编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决
- [bug修复方案分享]在不传父view的情况下Inflate最外层layout设置宽高失效的问题
- SlidingMenu开源控件侧拉栏无法滑动问题修复,bug解决
- 开发人员将状态置为“已修正”后,弹出failed to post bug提示信息问题
- VC DataGrid使用问题,在其它电脑上,应用数据程序弹出“未成功配置,应用程序无法启动”
- ios程序编译链接参数 all_load 的 ld duplicate symbol 的bug及修复
- 关于Android程序弹出软键盘的问题