JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth 等的区别.md 1.7 KB

clientWidth和clientHeigh、clientTop和clientLeft

  • clientWidth 表示可视区宽度,clientWidth = width + 左右padding
  • clientHeigh 表示可视区高度,clientHeigh = height + 上下padding
  • clientTop 表示实际宽度,clientTop = boder.top(上边框的宽度)
  • clientLeft的实际宽度,clientLeft = boder.left(左边框的宽度)

offsetWidth和offsetHight、offsetTop和offsetLeft

  • offsetWidth的实际宽度,offsetWidth = width + 左右padding + 左右boder
  • offsetHeith的实际高度,offsetHeith = height + 上下padding + 上下boder
  • offsetTop实际宽度,offsetTop:当前元素 上边框 外边缘 到 最近的已定位父级(offsetParent) 上边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离
  • offsetLeft实际宽度,offsetLeft:当前元素 左边框 外边缘 到 最近的已定位父级(offsetParent) 左边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离

scrollWidth和scrollHeight 、 scrollTop和scrollLeft

  • scrollWidth实际宽度,scrollWidth:获取指定标签内容层的真实宽度(可视区域宽度+被隐藏区域宽度)。
  • scrollHeight:获取指定标签内容层的真实高度(可视区域高度+被隐藏区域高度)
  • scrollTop :内容层顶部 到 可视区域顶部的距离
  • scrollLeft:内容层左端 到 可视区域左端的距离.

实例:var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

持续获取高度的方式:

window.addEventListener(‘scroll’, ()=>{
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
});