如何在可滚动的div中滚动到一个元素?

4

我曾经看到 scrollTo 被用于整个页面,但我想在一个 div 内滚动内容。

enter image description here

在这张图片中,我有一个元素需要滚动到顶部。如何让滚动条自动滚动到包含 div 的顶部(该 div 已经可以上下滚动)。

高亮元素下面还有很多文本可以滚动。

1个回答

3
您可以设置包含元素的 scrollTop。要设置的值实际上是该元素的顶部位置,可以使用 $(element).position().top 获得。
因此,您需要的代码是:
$j(scrollable_div).scrollTop($j(other_element).position().top)

注意:您可能需要找到other_element所在元素与页面顶部之间的偏移量,以使其滚动准确。


如果涉及到相对于“父元素”的偏移量,我认为更适合使用.position - pimvdb
所以,我刚刚尝试了这个:$(“.form.original_text”).offset()。top = 100,但是div没有滚动= \还尝试了$ j(“.form.original_text”).scrollTop = $ j(other_element).offset()。top-100 = \ nothing。你能指向一个例子吗? - NullVoxPopuli
@pimvdb - 这是正确的,应该使用position而不是offset - ShankarSangoli
@TheLindyHop - 这不是正确的方法,scrollTop是一个方法。尝试这个 $j(".form.original_text").scrollTop($j(other_element).position().top - 100) - ShankarSangoli
1
谢谢!那个方法有效。我会为您更新答案,然后接受它。 - NullVoxPopuli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接