Javascript 如何获取元素的当前滚动位置?
我试图获取Javascript 如何获取元素的当前滚动位置?,javascript,reactjs,Javascript,Reactjs,我试图获取div元素中滚动条的当前位置,但问题是当我获取元素:div.scrollTop值始终为:0 这是React应用程序,在父组件中,我有一个在子组件中传递的方法: handleScrollPosition = (collectionId) => { const el = document.getElementById(collectionId); this.scrollTop = window.pageYOffset || el.scrollTop; // thi
div
元素中滚动条的当前位置,但问题是当我获取元素:div.scrollTop
值始终为:0
这是React应用程序,在父组件中,我有一个在子组件中传递的方法:
handleScrollPosition = (collectionId) => {
const el = document.getElementById(collectionId);
this.scrollTop = window.pageYOffset || el.scrollTop; // this el.scrollTop is always 0 ? :(
this.scrolledCollectionId = collectionId;
};
在下一个div
的子组件中调用此方法:
<div
className="collection-body"
id={this.props.id}
onScroll={() => {
this.props.handleScrollPosition(this.props.id);
}}
>
{
this.props.handleScrollPosition(this.props.id);
}}
>
我在这里做的是:
scrollTop的当前位置
this.scrollTop中
从“当一个元素的内容没有生成垂直滚动条时,它的scrollTop值为0。”那么,您的子元素是否有滚动条?您的意思可能是我试图从错误的元素获取scrollTop值?这很有意义……可能不需要使用
窗口。pageYOffset
,只需编写this.scrollTop=el.scrollTop代码>@JamesDelaney也许:我自己也不确定。如果从父元素获取scrollTop值,则会告诉您父元素的滚动条移动了多远。子元素的滚动位置是什么意思?例如,您的意思是它离滚动出视图有多远?如果el
仍然是子元素,它是否有滚动条?否则,设置scrollTop将不会起任何作用。设置scrollTop会更改滚动条的位置。从“当元素的内容不生成垂直滚动条时,其scrollTop值为0”。那么,您的子元素是否有滚动条?您的意思可能是我试图从错误的元素获取scrollTop值?这很有意义……可能不需要使用窗口。pageYOffset
,只需编写this.scrollTop=el.scrollTop代码>@JamesDelaney也许:我自己也不确定。如果从父元素获取scrollTop值,则会告诉您父元素的滚动条移动了多远。子元素的滚动位置是什么意思?例如,您的意思是它离滚动出视图有多远?如果el
仍然是子元素,它是否有滚动条?否则,设置scrollTop将不会起任何作用。设置scrollTop可更改滚动条的位置。