Chrome和Firefox在到达页面顶部时未触发滚动事件

时间:2017-02-03 15:49:44

标签: javascript google-chrome firefox scroll event-handling

我需要能够检测用户何时滚动到页面顶部,即scrollTop <= 0时。在Chrome和Firefox中,如果用户滚动得足够快,则无法保证在用户到达页面顶部时始终触发滚动事件。例如,如果用户向下滑动1500px并快速向上滚动,则在上一个滚动事件中捕获的scrollTop值可能为1200

Safari对此的修复是触发滚动事件以进行过度滚动,因此scrollTop可以是负值。

一种选择是听取scrollmousewheel事件,但这可能不是超级高效的,仍然无法通过抓住滚动条解决用户滚动速度非常快的问题在页面的一侧。

检测用户何时到达页面顶部的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我认为如果滚动事件不能保证在用户到达页面顶部时始终触发,则可以使用“setinterval”来每秒验证scrollTop。

http://www.w3schools.com/jsref/met_win_setinterval.asp

见到你