当前位置: 首页 > Web前端 > HTML

【2021-12-23】scroll-view见底了吗?

时间:2023-03-28 19:28:06 HTML

滚动视图触底。在中城世家的聊天页面,我们要实现微信。如果底部有新消息,请滚动到新消息。,如果它不在底部,则不会滚动。这时候就需要判断是否在底部,借助uview开发者尝试一下。第一次给scroll-view添加scroll和scrolltolower事件。如果触发滚动事件,则将其设置为不触及底部。如果触发scrolltolower事件,它将触及底部。这时候发现scroll事件还是会在bottom之后触发。这个解决方案没有。第二次尝试基于第一次尝试。我们给scrolltolower事件一个延时,即在scrolltolower事件触发后100ms后设置为底部。这时候滚动一小段距离偶尔会触发scrolltolower事件。此解决方案也没有。第三次尝试,在第二次尝试的基础上,我们设置了一个很小的下限距离5,这时候基本的见底判断就非常准确了。然而,此时却出现了意想不到的情况。当我们第一次进来的时候,会让页面滚动到底部,this.scrollTop=9999,但是这个滚动会触发scroll事件,不会触发scrolltolower事件,这个方案并不完美。第四次尝试是基于第三次尝试。我们第一次进来的时候,设置在页面渲染后就已经见底了。这时候我们发现即使最终设置已经见底,但见底状态还是没有见底,失败了。在第五次尝试中,我们在页面渲染完成后延迟了100ms。这时,我们发现筑底判断是正确的。总结到此结束。设置scroll和scrolltolower事件,将lower-threshold设置得更小。推荐设置为5。触发滚动事件后,设置不触底。scrolltolower事件触发后,延时100ms。首次进入页面后,当页面渲染完成后,延时100ms设置底部消息点击留言