现在我有一个网页:
我想要做的是滚动该容器,使其中一个元素与容器的 visible 部分的顶部对齐。 我相信我要找的是相对于容器可见部分顶部的嵌套元素的顶部。
不幸的是我无法使用.offsetTop
,因为它只引用了一个元素的直接父级,并且由于页面的结构,这些元素的嵌套太深,无法使用。它总是一个固定的数字。与滚动容器相同;它的直接父母不是窗口。令人沮丧的是,标题不是固定的高度,所以我不能很容易地将它硬编码到我的计算中。我也不能使用jQuery。
我尝试将getBoundingClientRect
用于元素和容器,但它们总是彼此相距固定的距离,并且它不会向我提供有关元素滚动距离所需的信息不幸的是,相对于容器的可见区域。
答案 0 :(得分:0)
我之前也遇到过这种问题,您可以尝试将其自动滚动到元素
var elem = <some select operation that returns the element>;
elem.id = <some temp id> //if no id is there
var a = document.createElement('a');
a.href = "#" + elem.id;
a.click();
如果您愿意,可以在元素完成后删除元素。