无限滚动滚动条位置跳转

时间:2011-02-15 23:33:19

标签: javascript

我有一个checkScroll处理程序附加到div的滚动事件(很快将被实现为计时器),它检查用户是否接近底部并获​​取更多要显示的数据。用户界面非常流畅,与鼠标滚轮一起使用效果很好,但拖动滚动条时会出现以下情况:

  • checkScroll处理程序确定用户位于底部附近(例如,假设scrollTop为800)
  • 在后台发送AJAX请求以获取更多数据
  • 返回数据并附加到div
  • 如果滚动条仍然处于拖动模式,但是鼠标没有移动,因为数据已经附加,滚动条现在已经改变了大小并且稍微跳了一下,scrollTop仍然设置为800并且数据处于同一位置
  • 一旦鼠标向任意方向拖动1px,滚动条会在鼠标下方跳回,所有数据都已移位,用户已失去其原始位置

有没有办法防止这种情况发生,推特?

1 个答案:

答案 0 :(得分:0)

这是标准的浏览器行为,Firefox会让内容跳转但Chrome会在增加scrollHeight时保持当前位置

PS。如何将问题关闭为无效?