- offset系列:
- offsetLeft:获取元素距离最左边的距离,自身的margin包括在内,不包括自身的border
- offsetTop:获取元素距离最上边的距离,自身的margin包括在内,不包括自身的border
- offsetWidth:获取元素的宽度,包括border及以内,不包括margin
- offsetHeight:获取元素的高度,包括border及以内,不包括margin
- offsetParent:获取元素的定位父级元素:
- 如果元素fixed定位,得到null;
- 元素没有fixed情况下如果元素所有的父级元素都没定位,得到body;
- 元素没有fixed情况下,父级元素有定位,得到离他最近的有定位的父级元素
- scroll系列
- scrollTop和scrollLeft:获得的是内容卷曲出去的高度和宽度,当滚动条向下拉时,内容往上走,获得的就是上面跑出盒子范围的那部分高度。滚动条向右拉同理
- scrollWidth和scrollHeight:获得元素的实际宽度和高度,在内容没有超出盒子时,获得的是盒子的内部高度和宽度。内容超出盒子时获得的是内容实际应有的高度和宽度。当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。 根据浏览器兼容性,scroll系列需要写出兼容代码:例如scrollTop:
- var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
- client系列
- clientTop和clientLeft:获得上边框和左边框的宽度。
- clientWidth和clientHeight:获取可视范围的宽度高度,即边框内部的,不包括border,包括padding.当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。