小编给大家分享一下微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
吉安网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
scroll-view滚动穿透,阻止滚动
页面弹窗阻止滚动是一种常见的问题,这里简单介绍小程序scroll-view的一种解决方式
常用阻止滚动方式
在不使用scroll-view的弹窗中, 为position为absolute或fixed的元素设置catchtouchmove空事件就可以阻止弹窗下的页面因事件穿透滚动
也可直接写catchtouchmove,相当于绑定了事件名为true的事件
问题场景
在小程序中,在absolute或fixed的类弹窗布局中。要显示列表、长文本段落等可滚动元素,必须使用scroll-view组件,无法阻止页面本身的滚动
解决办法
既然无法简单的阻止事件穿透,就在页面可滚动的元素本身想想办法:
页面滚动元素
小程序中的简单布局,在页面内容超出一屏时,滚动的元素是page
如何让页面不滚动
将page的高度设为100%,页面最外层放一个view,打开弹窗时通过一个class增加样式,设页面高度100%,overflow: hidden来停止滚动
打开弹窗时设isStopBodyScroll为true,关闭时设为false
.scroll-lock { height: 100%; overflow-y: hidden; }
存在的问题
这样设置页面会回到顶部,期待有更好的解决方式或官方对这个问题提供支持
以上是“微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!