随笔 - 153  文章 - 1  评论 - 1722  阅读 - 215万

[转]关于DOM元素定位属性的深入学习

关于DOM元素定位属性的深入学习

Published by sansan at 2:56 pm under 前端|Front-End

以前写JS程序的时候,经常碰到了定位的问题。但每次都看到一半,找到需要的属性就了事了。

今天下了狠心,要花点时间,彻底地弄明白他。

以下内容看着有点眼熟也不用奇怪,因为是参考了多篇前辈的文章汇总而成,嘿嘿。

 

宽度、高度

jQuery(’#elem’).width()   // 获取CSS定义的宽度

jQuery(’#elem’).height()  // 获取CSS定义的高度

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

scrollWidth  // 对象的滚动宽度

scrollHeight  // 对象的滚动高度

clientLeft  // borderLeftWidth

clientTop  // borderTopWidth

 

Left、Top

scrollTop  // 对象左边界和窗口中目前可见内容的最左端之间的距离

scrollLeft  // 对象最顶端和窗口中可见内容的最顶端之间的距离

offsetTop  // 距相对父节点的顶端位置

offsetLeft  // 距相对父节点的左侧位置

 

父节点

parentNode  // 就是父节点。从结构上理解并应用它。

offsetParent  // 是相对父节点。从布局上理解并应用它。

 

鼠标相对于浏览器的 x, y 坐标

e.clientX, e.clientY

 

鼠标相对于触发事件容器的 x,y 坐标

e.offsetX, e.offsetY  // for IE

e.layerX, e.layerY  // for FF

 

垂直方向滚动的值

document.documentElement.scrollTop

document.body.scrollTop (Quirks Mode)

 

鼠标相对于页面顶部的 x, y 坐标

pageX, pageY  // for FF

e.clientX + document.documentElement.scrollLeft  // for IE

e.clientY + document.documentElement.scrollTop  // for IE

 

相对于Body的padding以内的绝对坐标

jQuery(’#elem’).offset();

 

最后,附上一张老掉牙的图。

javascript

posted on   Q.Lee.lulu  阅读(1865)  评论(3编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
< 2008年3月 >
24 25 26 27 28 29 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示