如何使容器滚动到元素

dou*_*ack 2 javascript jquery containers scroll

我有一个包含大量文本的容器,我想自动滚动到该容器中的各种元素.我可以使用jQuery为容器设置动画,以便很好地滚动一定距离,但是我确定距离是多少.

我看到的大多数提示建议使用.offset().top属性来获取该距离,但在这种情况下这不起作用. 看看这个jsfiddle的例子.

注意:小提琴的目标段落标签是容器的直接子节点,但我不想依赖它.我希望能够为任何元素获得适当的滚动距离,无论它们有多深的嵌套.

Yoe*_*eri 6

试试这个:

var pOffset = $("#lipsum").scrollTop();
pOffset = pOffset + $("#lipsum p.active").position().top; 
Run Code Online (Sandbox Code Playgroud)

.scrollTop() 给出DIV的当前滚动位置,将P元素的位置添加到它,滚动就可以了.