如何使容器滚动到元素(how to make container scroll to element

2019-09-17 00:18发布

我有与一大堆在它的文本的容器,我想自动滚动到该容器中的各种元素。 我可以使用jQuery很好地滚动一定距离动画容器,但是我有很多的麻烦确定的距离是什么。

最让我看到了提示的推荐使用.offset()。top属性来获得这个距离,但不是在这种情况下工作。 看看这个的jsfiddle的一个例子。

:小提琴目标段落标记是容器的直接孩子,但我不想依靠这一点。 我希望能够得到适当的滚动距离任何元素,无论他们有多么深的嵌套。

Answer 1:

尝试使用这样的:

var pOffset = $("#lipsum").scrollTop();
pOffset = pOffset + $("#lipsum p.active").position().top; 

.scrollTop()给出了DIV的当前滚动位置,P元素的位置添加到它和滚动将被罚款。



Answer 2:

.offset()让你元素相对于整个页面的位置。

你所需要的就是.position()将让你元素相对于包含元素的顶部位置。

编辑:这工作与更新的jsfiddle

编辑2:我只注意到它不会不添加滚动位置的工作。 你将需要添加.scrollTop()从包含分区。 下面是一个更新的jsfiddle 。 (它的工作原理这个时候)



文章来源: how to make container scroll to element