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