- 当前 Bug 的表现(可附上截图)
ios是在触摸滑动停止后才会触发onPageScroll,虽然onPageScroll 一直在监听
- 预期表现
onPageScroll 一直在监听 客户端可以立即执行
- 复现路径
- 提供一个最简复现 Demo
wxml
...
<view class='{{isLong?"top-menu fixed":"top-menu"}}'></view>
...
wxss
.top-menu{
width: 670rpx;
padding:15rpx 40rpx;
/* height: 80rpx; */
display: flex;
align-items: center;
text-align: center;
border-bottom: 1px solid #cdcdcd;
background: #f3f3f3;
position: absolute;
top: -26rpx;
left: 0;
z-index: 999
}
.fixed{
position: fixed;
top:0rpx;
}
...
js
data:{
isLong:false
},
onPageScroll: function (e) {
console.log(e);//{scrollTop:99}
let sumNum = (this.data.height1 - 0) + (this.data.height2 - 0) + (this.data.height3 - 0) + (this.data.height4 - 0) //获取了需要变化的高度
if (e.scrollTop > sumNum && !this.data.islong ){
this.setData({
islong:true
})
} else if (e.scrollTop < sumNum && this.data.islong){
this.setData({
islong: false
})
}
}
能用相交状态监听来做不?或者json里加个"usingComponents":{}试试呢
我来试试看,没有用过这个
这个很怪,模拟器上可能会有延迟 但是真机上好得多
是这样的~不过ios真机上面需要触摸滚动停止后才能触发~ 所以体验还是有点差
我是说相交状态哦。。你要把onPageScroll 这个监听完全删了,然后用相交状态监听做。
好的,我试试看,如果有疑问在请教你,谢谢~