当前位置: 首页 > 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
  • 锚定“水库不垮坝”目标,水利部部署今年水库安全度汛工作
  • 普京:俄方积极对待任何和平倡议
  • “中国共产党的故事——习近平新时代中国特色社会主义思想在重庆的实践”重庆经贸推介会成功举办
  • 诺奖得主等数十位经济学家发表宣言反对美关税政策
  • “30小时不够”,泽连斯基建议延长停火至30天
  • 世遗X时尚,七匹狼这场大秀秀出中国文化独特魅力