我需要能够检测用户何时滚动到页面顶部,即何时scrollTop <= 0
.在 Chrome 和 Firefox 中,如果用户滚动速度足够快,则不能保证在用户到达页面顶部时始终触发滚动事件。例如,如果用户在页面上向下 1500 像素,并快速向上滚动,则在最后一个滚动事件中捕获的scrollTop
值可能1200
。
Safari 对此的修复是触发滚动事件以进行过度滚动,因此 scrollTop 可以是负值。
一种选择是同时收听scroll
和mousewheel
事件,但这可能不是超级性能,并且仍然无法解决用户通过抓住页面侧面的滚动条快速滚动的问题。
检测用户何时到达页面顶部的最佳方法是什么?
,如果不能保证在用户到达页面顶部时始终触发滚动事件,则可以使用"设置间隔"每秒验证scrollTop。
http://www.w3schools.com/jsref/met_win_setinterval.asp
再见