小程序自定义弹框遮幕层,滑动的时候,遮挡的底层布局也会跟随滚动。查询到解决方案,记录一下。这种解决方式存在一个问题,底层滑动的位置会被重置。
https://www.jianshu.com/p/3829d7b8358e
可以配合onPageScroll
获取当前滚动位置,在显示浮层前保存位置,关闭浮层时通过wx.pageScrollTo({ scrollTop: scrollTop, duration:0 })
滑动到之前浏览的位置。(此方法存在的问题:显示浮层时,遮挡的底层布局滑动位置已经改变。)
onPageScroll:function(e){
this.scrollTop = e.scrollTop;// 获取滚动条当前位置
},
总结:
- 可以使用css布局通过弹框显示与隐藏进行控制,存在问题滑动位置会发生变化。
- 使用catchtouchmove 加 scroll-view,浮层布局添加
catchtouchmove
需要滑动的布局使用scroll-view布局包裹
。存在的问题,scroll-view 内的内容一直能滑动,不能根据高度来控制滑动。