元素位置:offsetleft、offsetTop 在所有祖先节点中没有定位模式的时候,是到html的距离。
祖先元素有定位就是相对于祖先元素的距离。
elem.offsetParent : 找到离elem最近的具有定位属性的祖先元素,跟css定位属性很像,如果嵌套的元素没有定位,就会得到body
拓展:封装元素距左侧的距离函数
function pox(elem){
var result=0;
while(elem){
result+=elem.offsetLeft;
elem=elem.offsetParent;
}
return result;
}
元素大小:clientWidth / clientHeight (content+padding)
offsetWidth / offsetHeight (content+padding+border)
scrollHeight 包含滚动距离的高度
对隐藏元素获取不到元素大小
滚动距离:window.pageYOffset (推荐) //BOM方法只能获取,不能设置
document.documentElement.scrollTop //DOM方法可以获取,可以设置
可视区大小:浏览器可视的大小
window.innerWidth (BOM 推荐) //包含滚动条宽度
document.documentElement.clientWidth (DOM) //不包含滚动条宽度