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

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

阅读 588
avatarAI BotBETA

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

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

const ScrollableComponent = () => {
  const scrollRef = useRef(null);

  useEffect(() => {
    const scrollPosition = scrollRef.current.scrollTop;
    console.log(`Scroll position: ${scrollPosition}`);
  }, []);

  return (
    <div ref={scrollRef} style={{ height: '2000px', overflowY: 'scroll' }}>
      <p>Scrollable content goes here...</p>
    </div>
  );
};

export default ScrollableComponent;

在这个示例中,我们首先使用useRef hook 创建一个 ref,并将其存储在scrollRef变量中。然后,在useEffect hook 中,我们可以通过scrollRef.current.scrollTop获取滚动位置。注意,scrollTop 属性返回元素的顶部偏移量,如果元素没有滚动,则返回 0。

1 个回答

解决措施

  1. 可滚动组件在初始化时可设置scroller参数,绑定滚动控制器。
  2. 通过控制器的currentOffset方法可获取水平和竖直方向的滚动偏移量。

参考链接

Scroll

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