【发布时间】:2017-02-03 15:49:44
【问题描述】:
我需要能够检测到用户何时滚动到页面顶部,即何时scrollTop <= 0。在 Chrome 和 Firefox 中,如果用户滚动速度足够快,则不能保证在用户到达页面顶部时始终触发滚动事件。例如,如果用户在页面下方 1500 像素处快速向上滚动,则在最后一个滚动事件中捕获的 scrollTop 值可能是 1200。
Safari 对此的解决方法是触发滚动事件以进行过度滚动,因此 scrollTop 可以是负值。
一种选择是同时监听scroll 和mousewheel 事件,但这可能不是超级性能,并且仍然不能解决用户通过抓住侧面的滚动条快速滚动的问题页面。
检测用户何时到达页面顶部的最佳方法是什么?
【问题讨论】:
标签: javascript google-chrome firefox scroll event-handling