当前位置: 首页 > news >正文

【React】获取元素距离页面顶部的距离

文章目录

    • 代码实现

代码实现

import { useEffect, useRef, useState } from 'react';const DynamicPositionTracker = () => {const [distance, setDistance] = useState(0);const divRef = useRef(null);useEffect(() => {const targetDiv = divRef.current;if (!targetDiv) return;// 计算距离函数const calculate = () => {// 获取元素相对于视口的位置const rect = targetDiv.getBoundingClientRect();// 获取页面垂直滚动量const scrollTop = window.pageYOffset;setDistance(rect.top + scrollTop);};// 初始化计算calculate();// 监听滚动和尺寸变化const resizeObserver = new ResizeObserver(calculate);resizeObserver.observe(targetDiv);window.addEventListener("scroll", calculate);// 清理监听return () => {resizeObserver.disconnect();window.removeEventListener("scroll", calculate);};}, []);return (<div ref={divRef}>当前距离顶部: {distance}px</div>);
};

相关文章:

  • 多维度信息捕捉:利用向量、稀疏向量、全文搜索及张量实现RAG的极致性能
  • 随机面试--<二>
  • 可穿戴无线生理信号采集贴片产品市场需求简析
  • DevOps功能详解
  • 第 3 篇:揭秘时间模式 - 时间序列分解
  • 【显卡占用】kill程序后,显卡仍被占用
  • 高效Java面试题(附答案)
  • 【C++篇】string类的终章:深浅拷贝 + 模拟实现string类的深度解析(附源码)
  • uCOS3实时操作系统(系统初始化和任务启动)
  • 《Learning Langchain》阅读笔记5-RAG(1)
  • 7. 服务通信 ---- 使用自定义srv,服务方和客户方cpp,python文件编写
  • MATLAB 训练CNN模型 yolo v4
  • 强化学习框架verl源码学习-快速上手之如何跑通PPO算法
  • Linux学习笔记协议篇(六):SPI FLASH设备驱动
  • 嵌入式人工智能应用-第三章 opencv操作8 图像特征之HOG 特征
  • 网络原理 - 3(UDP 协议)
  • 读文献先读图:韦恩图怎么看?
  • 设备、管道绝热(保冷)设计计算
  • Flutter路由模块化管理方案
  • 文件包含漏洞,目录遍历漏洞,CSRF,SSRF
  • 抗战回望15︱《五月国耻纪念专号》:“不堪回首”
  • 5月1日,全社会跨区域人员流动量完成33271.4万人次
  • 宿州市委副书记任东已任市政府党组书记
  • 媒体:酒店、民宿临时毁约涨价,怎么管?
  • 马上评丨上热搜的协和“4+4”模式,如何面对舆论审视
  • 阿斯利康中国区一季度收入增5%,或面临最高800万美元新罚单