关于前端:20211223scrollview是否触底问题

42次阅读

共计 756 个字符,预计需要花费 2 分钟才能阅读完成。

scroll-view 是否触底问题

众城世家聊天页面中,要实现微信那种,如果有新音讯,在底部的话就滚动到新音讯,如果没有在底部的话就不滚动,这个时候须要判断是否在底部,经 uview 开发人员帮忙,进行尝试。

第一次尝试

scroll-viewscrollscrolltolower 事件,如果触发 scroll 事件的话就设置不触底,如果触发 scrolltolower 事件的话就触底,这个时候发现触底当前还是会触发 scroll 事件的,这种计划不行。

第二次尝试

在第一次尝试的根底上,咱们给 scrolltolower 事件一个提早,也就是触发 scrolltolower 事件当前 100ms 后再设置触底,这个时候短距离滚动,还是会偶然触发 scrolltolower 事件,这种计划也不行。

第三次尝试

在第二次的根底上,咱们设置很小的触底间隔 lower-threshold,设置为 5,这个时候根本触底判断就很精确了,然而,这个时候有呈现个意外的状况,第一次进来的时候咱们会让页面滚动到底部,this.scrollTop = 9999,然而这个滚动会触发scroll 事件,然而并不会触发 scrolltolower 事件,这种计划也不完满。

第四次尝试

在第三次的根底上,咱们在第一次进来的时候,页面渲染完当前设置已触底,这个时候发现就算最初设置已触底,触底状态还是不触底,失败。

第五次尝试

咱们在页面渲染实现当前,提早 100ms,这个时候发现触底判断就正确了。到此结束

总结

  1. 设置 scrollscrolltolower事件,并设置 lower-threshold 小一点,倡议设置为 5
  2. scroll事件触发当前设置不触底,scrolltolower事件触发当前,提早 100ms 设置触底
  3. 第一次进来页面当前,当页面渲染实现当前,提早 100ms 设置触底

留言

点击留言

正文完
 0