想必大家在写下拉加载插件或者瀑布流的时候都用过这几个属性,但是时间长了的确会忘记。所以今天我们来一起熟悉一下这几个属性吧
clientHeight
和offsetHeight
属性和元素的滚动、位置没有关系。它代表元素的高度clientHeight
包括padding
但不包括border
、滚动条、margin
高度。对于inline
元素此属性一直为0,是只读元素offsetHeight
包括padding
、border
、水平滚动条。但不包括margin
的元素高度。对于inline
元素这个属性值亦为0,只读元素
scrollHeight
:因为子元素比父元素高,父元素不想被子元素城的一样高就显示出了滚动条,在滚动的过程中本元素有部分被隐藏了。scrollHeight
代表包括当前不可见部分的元素的高度。scrollTop
:有滚动条时,滚动条向下滚动的距离(元素顶部被遮住的高度)- 保持兼容性:
document.body.scrollTop || document.documentElement.scrollTop
documentElement
是整个节点数的根节点root
,即<html>
标签(标准模式)body
是 DOM 对象里的body
子节点,即<body>
标签(混杂模式)
- 保持兼容性:
offsetTop
:当前元素顶部距夫元素顶部的距离,和有无滚动条没有关系
用一张图来解释一下8~
大体就是这个样子,水一篇博客以备不时之需。