offset系列、scroll系列与client系列

时间:2023-11-11 12:05:50
  1.   offset系列:
    1. offsetLeft:获取元素距离最左边的距离,自身的margin包括在内,不包括自身的border
    2. offsetTop:获取元素距离最上边的距离,自身的margin包括在内,不包括自身的border
    3. offsetWidth:获取元素的宽度,包括border及以内,不包括margin
    4. offsetHeight:获取元素的高度,包括border及以内,不包括margin
    5. offsetParent:获取元素的定位父级元素:  
      1. 如果元素fixed定位,得到null;  
      2. 元素没有fixed情况下如果元素所有的父级元素都没定位,得到body;
      3. 元素没有fixed情况下,父级元素有定位,得到离他最近的有定位的父级元素
  2. scroll系列
    1. scrollTop和scrollLeft:获得的是内容卷曲出去的高度和宽度,当滚动条向下拉时,内容往上走,获得的就是上面跑出盒子范围的那部分高度。滚动条向右拉同理
    2. scrollWidth和scrollHeight:获得元素的实际宽度和高度,在内容没有超出盒子时,获得的是盒子的内部高度和宽度。内容超出盒子时获得的是内容实际应有的高度和宽度。当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。
    3. 根据浏览器兼容性,scroll系列需要写出兼容代码:例如scrollTop:

      1.   var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
  3. client系列
    1. clientTop和clientLeft:获得上边框和左边框的宽度。
    2. clientWidth和clientHeight:获取可视范围的宽度高度,即边框内部的,不包括border,包括padding.当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。