scroll-view是否触底问题
众城世家聊天页面中 , 要实现微信那种 , 如果有新消息 , 在底部的话就滚动到新消息 , 如果没有在底部的话就不滚动 , 这个时候需要判断是否在底部 , 经uview
开发人员帮助 , 进行尝试 。
第一次尝试给scroll-view
加scroll
和scrolltolower
事件 , 如果触发scroll
事件的话就设置不触底 , 如果触发scrolltolower
事件的话就触底 , 这个时候发现触底以后还是会触发scroll
事件的 , 这种方案不行 。
第二次尝试在第一次尝试的基础上 , 我们给scrolltolower
事件一个延迟 , 也就是触发scrolltolower
事件以后100ms后再设置触底 , 这个时候短距离滚动 , 还是会偶尔触发scrolltolower
事件 , 这种方案也不行 。
第三次尝试在第二次的基础上 , 我们设置很小的触底距离lower-threshold
, 设置为5 , 这个时候基本触底判断就很准确了 , 但是 , 这个时候有出现个意外的情况 , 第一次进来的时候我们会让页面滚动到底部 , this.scrollTop = 9999
, 但是这个滚动会触发scroll
事件 , 但是并不会触发scrolltolower
事件 , 这种方案也不完美 。
第四次尝试在第三次的基础上 , 我们在第一次进来的时候 , 页面渲染完以后设置已触底 , 这个时候发现就算最后设置已触底 , 触底状态还是不触底 , 失败 。
第五次尝试我们在页面渲染完成以后 , 延迟100ms , 这个时候发现触底判断就正确了 。 到此结束
总结
- 设置
scroll
和scrolltolower
事件 , 并设置lower-threshold
小一点 , 建议设置为5
scroll
事件触发以后设置不触底 ,scrolltolower
事件触发以后 , 延迟100ms设置触底
- 【微信|scroll-view是否触底问题】第一次进来页面以后 , 当页面渲染完成以后 , 延迟100ms设置触底
- 微信|个人收款码与商业收款码有什么不一样
- 显示器|微信新功能开始!长语音可以暂停
- 短信|关于5G消息,中国移动取得新进展,微信该做准备了
- 微信上线“语音暂停”功能
- 微信聊天最令人头疼的场景是什么?一定有人会说是对方发来一连串语音还都是超过30秒的长消息...|终于!微信上线万众期待的新功能!网友:总算等到了
- 爱奇艺|车澈的爱奇艺往事
- 微信小程序|小红书的付费推广获取流量方式有哪些?平台的4种主要营销工具都在这里了
- 微信|数亿用户没白等,微信迎来更新,张小龙终于干正事了
- 热搜第一,微信上线新功能!?网友喜大普奔:终于来了
- 微信新功能上线!网友:这个太实用