微信小程序scroll-view实现滚动穿透和阻止滚动的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信小程序scroll-view实现滚动穿透和阻止滚动的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1091字,纯文字阅读大概需要2分钟。
内容图文
![微信小程序scroll-view实现滚动穿透和阻止滚动的方法](/upload/InfoBanner/zyjiaocheng/336/679763aa29f74eafb7f46b9f475178cd.jpg)
scroll-view滚动穿透,阻止滚动
页面弹窗阻止滚动是一种常见的问题,这里简单介绍小程序scroll-view的一种解决方式
常用阻止滚动方式
在不使用scroll-view的弹窗中, 为position为absolute或fixed的元素设置catchtouchmove空事件就可以阻止弹窗下的页面因事件穿透滚动
<view catchtouchmove="doNothing"></view>
也可直接写catchtouchmove,相当于绑定了事件名为true的事件
问题场景
在小程序中,在absolute或fixed的类弹窗布局中。要显示列表、长文本段落等可滚动元素,必须使用scroll-view组件,无法阻止页面本身的滚动
解决办法
既然无法简单的阻止事件穿透,就在页面可滚动的元素本身想想办法:
页面滚动元素
小程序中的简单布局,在页面内容超出一屏时,滚动的元素是page
如何让页面不滚动
将page的高度设为100%,页面最外层放一个view,打开弹窗时通过一个class增加样式,设页面高度100%,overflow: hidden来停止滚动
打开弹窗时设isStopBodyScroll为true,关闭时设为false
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}"> <!-- 页面内容 --> </view>
.scroll-lock { height: 100%; overflow-y: hidden; }
存在的问题
这样设置页面会回到顶部,期待有更好的解决方式或官方对这个问题提供支持
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的微信小程序scroll-view实现滚动穿透和阻止滚动的方法全部内容,希望文章能够帮你解决微信小程序scroll-view实现滚动穿透和阻止滚动的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。