8***@qq.com
8***@qq.com
  • 发布:2020-04-27 20:09
  • 更新:2020-04-30 20:46
  • 阅读:2746

页面滚动的onPageScroll方法触发间隔较大,是不是做了节流处理

分类:uni-app

页面的生命周期函数onPageScroll,感觉做了节流处理,因为当我快速滑动页面时,接收到的scrollTop值间隔很大,但是具体的最小触发时间设置为多少我就不太清楚了。

当然我理解有最小触发间隔可以保证性能,但是相应地,当我要精确检测滚动距离,控制页面样式时(例如做吸顶效果),效果就不理想了。

例如我要检测scrollTop滚动到180px时,执行一个操作,但是一旦我滚动页面的速度一快,往往接收到的scrollTop间隔很大,上一个是170,下一个就是230,已经超过180很多了,这样出来的效果就很突兀。

所以不知道这种问题怎么优化,问一下各位。

希望uni-app以后能够有限制页面滚动的速度的方法,或者设置onPageScroll最小触发间隔的方法。

2020-04-27 20:09 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

不是框架进行了节流,是浏览器(WebView)做了限制,为了保证视图的流畅,在惯性期间不会(少)触发 scroll 事件。

  • 8***@qq.com (作者)

    理解了,看来这种实现方式不合理,还是考虑定时器或者其他思路了。

    2020-05-02 10:52

  • 1***@163.com

    回复 8***@qq.com: 除了这个,还可以怎么做吸顶效果呢

    2020-06-17 17:13

  • 8***@qq.com (作者)

    回复 1***@163.com: 在文档API里搜索createIntersectionObserver这个方法,可以检测两个节点的相交情况,用这个实现吸顶我感觉更好。

    2020-06-18 08:46

  • 2***@qq.com

    回复 8***@qq.com: 其实css是可以实现吸顶效果的

    2021-05-26 15:46

  • 凌风浮云S

    回复 2***@qq.com: 怎么用css弄,有demo或者博客嘛

    2021-06-21 10:51

该问题目前已经被锁定, 无法添加新回复