原生js里的offset、client、scroll三大家族

offset家族 自己的,用于获取元素自身尺寸

offsetWidth 和 offsetHeight 获取元素自身的宽度和高度,包括内容+边框+内边距

offsetLeft 和 offsetTop 距离第一个有定位的父级盒子和左边距和上边距 【父级盒子必须要有定位,如果没有,最终以body为准】

offsetParent 返回当前对象的带有定位的父级盒子,【可能是父亲、也可能是爷爷】,如果没有定位,最终返回body


scroll家族

document.body.scrollWidth 获取网页宽度(能够滚动的内容的宽度)

document.body.scrollHeight 获取网页高度(能够滚动的内容的高度)
document.body.scrollTop 网页被卷上去的高度
document.body.scrollLeft 网页被卷去的左侧距离

ie9及最新浏览器
window.pageXOffset (scrollLeft)
window.pageYOffset (scrollTop)

scrollTo(x,y) 把内容滚动到指定坐标


client家族

document.body.clientWidth 获取网页的宽度
document.body.clientHeigth 获取网页的高度

obj.clientLeft 获取元素左边框的宽度
obj.clientTop 获取元素上边框的宽度
obj.clientWidth 获取元素宽度(不包括边框)
obj.clientHeight 获取元素高度(不包括边框)

原文地址:https://www.cnblogs.com/javascripter/p/9888333.html