【发布时间】:2021-06-26 00:45:14
【问题描述】:
我想获取一个元素相对于整个页面的位置,但是该元素在一个可滚动的容器中,这使得通常使用的方法毫无用处。 (谈论getBoundingClientRect()、offsetTop等)
作为我的意思的一个例子: https://material.angular.io/cdk/drag-drop/overview
在“基本拖放”部分中,如果您在不滚动页面的情况下获得元素的 Y 位置,则 element.getBoundingClientRect().top 获得 626
现在,如果您向下滚动,使元素几乎接触到窗口的顶部,对于完全相同的元素,您将得到 70
但我想要的是与整个页面完全相同的值,因此滚动后该值不应改变。我知道这是默认滚动行为的情况,但在这种情况下,主体不会滚动,而是它的元素。
【问题讨论】:
-
这个答案对你有用吗? stackoverflow.com/a/1480137
-
@Steve 不幸的是,在 Angular Drag & Drop 的情况下,将元素拖动到另一个位置后偏移量保持不变
标签: javascript html dom