做网站能改吗网站开发 创造收益
2026/2/5 9:13:08 网站建设 项目流程
做网站能改吗,网站开发 创造收益,黄石网站建设费用,网站的建设特色getBoundingClientRect() 是 JavaScript 中一个非常重要的 DOM API#xff0c;用于获取元素在视口#xff08;viewport#xff09;中的位置和尺寸信息。const rect element.getBoundingClientRect();返回一个 DOMRect 对象#xff0c;包含以下只读属性#xff08;单位用于获取元素在视口viewport中的位置和尺寸信息。const rect element.getBoundingClientRect();返回一个DOMRect对象包含以下只读属性单位像素属性含义x/left元素左边缘到视口左侧的距离y/top元素上边缘到视口顶部的距离right元素右边缘到视口左侧的距离bottom元素下边缘到视口顶部的距离width元素宽度等价于right - leftheight元素高度等价于bottom - top 注意x和left是等价的y和top也是等价的现代浏览器支持x/y。️ 图示说明视口顶部 │ │ top (y) │ ↓ ├───────────────┐ ← left (x) │ │ │ 元素 │ → right │ │ └───────────────┘ │ │ bottom ↓ 视口底部假设你有一个很长的网页其中有一个按钮!-- 页面顶部 -- h1欢迎来到我的网站/h1 !-- 中间有很多内容比如 2000px 高的空白 -- div styleheight: 2000px; background: #eee;/div !-- 目标按钮距离页面顶部 2100px -- button idmyBtn点击我/button按钮在整个页面中的绝对位置是top 2100px从页面最顶端算起浏览器窗口高度是800px情况一页面没有滚动刚打开时你看到的是页面顶部h1按钮在屏幕下方很远甚至看不见此时调用const btn document.getElementById(myBtn); console.log(btn.getBoundingClientRect().top); // 输出2100✅ 因为视口顶部就是页面顶部所以top 2100按钮在视口下方 2100px情况二你向下滚动了 1500px现在你看到的是页面中间部分按钮离你更近了可能已经出现在屏幕中此时再调用console.log(btn.getBoundingClientRect().top); // 输出600❓ 为什么变成600因为按钮在页面中的绝对位置还是2100px但你已经向下滚动了 1500px所以视口的“顶部”现在对应的是页面的1500px处所以按钮到当前视口顶部的距离 2100 - 1500 600px✅getBoundingClientRect().top始终告诉你“这个元素现在离你眼前屏幕顶部有多远”关键结论getBoundingClientRect()的坐标系原点是当前可见屏幕的左上角视口不是整个网页的左上角。它自动排除了滚动的影响直接告诉你“元素现在在屏幕什么位置”。如果你想得到在整个页面中的绝对位置需要手动加上滚动偏移js编辑const rect el.getBoundingClientRect(); const absoluteTop rect.top window.scrollY; const absoluteLeft rect.left window.scrollX;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询