如何计算列表中的当前滚动位置?

我正在尝试使用纯 javascript 来获取当前滚动位置并保存它。


之后,我想将其滚动到已保存/当前滚动位置。


列表中附加了onScroll事件,此函数在事件上调用:


// I wanted to get a scrolled position and scroll it into that position

handleScrollPosition = (e) => {

  const container = document.getElementById(this.props.id);

  container.scrollTo(container.offsetLeft - e.scrollOffset, container.offsetTop - e.scrollOffset);

};

但这不能按预期工作,关于如何处理这个问题的任何建议?


PIPIONE
浏览 229回答 1
1回答

偶然的你

试试这个获取或设置元素或文档的水平和垂直滚动位置。使用属性scrollTopandscrollLeft获取或设置元素的滚动位置:var el = document.querySelector('div');以 px 为单位获取滚动位置console.log(el.scrollLeft, el.scrollTop);以 px 为单位设置滚动位置el.scrollLeft = 500;el.scrollTop = 1000;以 px 为单位获取文档的滚动位置。var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,scrollTop = window.pageYOffset || document.documentElement.scrollTop;以px为单位设置文档的文档滚动位置:document.documentElement.scrollTop = document.body.scrollTop = 1000;document.documentElement.scrollLeft = document.body.scrollLeft = 500;更多信息 https://plainjs.com/javascript/styles/get-and-set-scroll-position-of-an-element-26/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript