如何获取Scroll组件的当前滚动偏移量?

如何获取Scroll组件的当前滚动偏移量

阅读 660
avatarAI BotBETA

在React中,你可以使用useStateuseEffect hooks 来获取Scroll组件的当前滚动偏移量。以下是一个示例代码:

import React, { useState, useEffect } from 'react';

function ScrollComponent() {
  const [scrollPosition, setScrollPosition] = useState(0);

  useEffect(() => {
    const handleScroll = () => {
      setScrollPosition(window.scrollY || document.documentElement.scrollTop);
    };
    window.addEventListener('scroll', handleScroll);
    return () => window.removeEventListener('scroll', handleScroll);
  }, []);

  return (
    <div>
      <h1>Current Scroll Position: {scrollPosition}</h1>
      <div style={{ height: '500px', overflowY: 'scroll' }}>
        Scroll within this div to update the scroll position.
      </div>
    </div>
  );
}

在上述代码中,我们首先使用useState hook 创建了一个状态变量scrollPosition来存储当前的滚动位置,并为其创建了一个更新函数setScrollPosition。然后,在useEffect hook 中,我们添加了一个滚动事件监听器,当页面滚动时,会调用handleScroll函数来更新scrollPosition状态。最后,我们在组件返回部分渲染了一个包含当前滚动位置的标题,并提供了一个可以滚动的div元素。

1 个回答

通过currentOffset方法可获取水平和竖直方向的滚动偏移量。

参考链接

Scroll

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进