如何获取元素的当前滚动位置?

时间:2019-11-28 09:11:36

标签: javascript reactjs

我正在尝试获取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);
   }}
>

我在这里做的是:

  1. 我正在获取元素ID
  2. 通过父组件中的id获取该元素
  3. 尝试获取scrollTop的当前位置
  4. 然后将当前位置保存在变量this.scrollTop
  5. 后来想滚动到该保存的位置

    但是问题是我无法获取,然后保存正确的当前位置

0 个答案:

没有答案
相关问题