检测用户是否已停止滚动页面

时间:2012-05-01 14:40:53

标签: javascript scroll

我正在尝试使用javascript来让我的聊天行为比现在的情况好一些。

由于我使用PrimeFaces的民意调查来更新面板并模拟聊天,因此面板每秒都会更新,因此很难读取旧消息(更新面板会导致滚动重置在面板顶部)

所以我在onscroll添加了一个div事件,以便在用户滚动时停止轮询。

但是我需要一种让它重新启动的方法,所以我想到了在滚动停止后一分钟放一个计时器并回忆poll.start()

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我在自己的聊天引擎上所做的是:

新消息到达时......

  • 如果用户一直滚动到视图的(新消息)端,请保持滚动固定在该端。
  • 否则,请将滚动保持原样。

通过将scrollTop的值与0scrollHeight-offsetHeight进行比较,可以轻松测试这一点。