2011-02-15 119 views
1

我有一个checkScroll处理器连接到一个div的滚动事件(即将实现为定时器来代替),它会检查用户是否已接近底部,并获取更多的数据来显示。用户界面是光滑并与鼠标滚轮一起使用时效果很好,但拖动滚动条时,会发生以下情况:无限滚动滚动条位置跳

  • checkScroll处理程序确定用户是在底部附近(并且例如,让我们说scrollTop是800)
  • AJAX请求在后台获取更多数据
  • 数据被返回,并被附加到的div
  • 如果滚动条仍处于拖动模式发送的,但不移动鼠标,由于数据已经被附加滚动条现在已经改变大小并跳了一下,scrollTop仍然设置为800,并且t他的数据是在相同的位置
  • 一旦拖动鼠标1px的任何方向,滚动跳回到鼠标下,所有的数据发生了转变,用户已经失去了原有的地位

是否有一种方法来防止这种情况发生,一个Twitter?

+0

这也可以与惯性滚动在Mac上,例如一个问题。既然你内在地搞乱了滚动条,我不认为有一种简单的方法可以避免这种情况。我还没有看到一个标本*没有*这些问题呢。虽然希望得到一个很好的答案。 – deceze 2011-02-16 00:13:33

回答

0

这是标准的浏览器的行为,火狐将使内容跳转,Chrome会在当前位置增加了scrollHeight属性

PS时。你如何将问题视为无效?