【发布时间】:2014-12-24 06:08:40
【问题描述】:
下面是这样的场景:
在我的用户界面中,我将有一个文本框。如果我在文本框中输入了一个数字,我需要向下滚动到相应的页码。
在Dom 中,我将有一些具有各自id 的div。如果用户输入的页码为 5。我将检查 dom 中的第 5 个 div 偏移量并获得最高值。通过使用 scrollTop 会滚动到第 5 个 div。
这里,问题是在向下滚动到第 5 个 div 之后。如果再次,输入页码为 2。偏移顶部值为负数。因此,ScrollTop 默认移动到顶部。
要准确重现这一点,请转到第 7 页,然后再转到第 3 或第 4 页。
【问题讨论】:
-
为什么不是负数?当在容器上设置溢出滚动并且您位于底部时,顶部元素是非常负面的。在内容回升之前,您将获得该价值
-
使用
position()也有帮助,因为容器上方有大约 80px 的控件 -
您正在打印相对于您按 Enter 时所在的当前位置的偏移值。因此,如果页面 X 不在可见区域中(滚动过去),它将打印一个负数。
-
@Babu 检查我的答案