当 实际内容 比 视口大,求 一个元素 对视口的坐标 ,要考虑 滚动条
1.
clientHeight、clientWidth
width + padding(内边距)
2.
offsetHeight、offsetWidth
width + padding + border
3.
offsetTop、offsetLeft
对于很多元素,这些值 是(相对文档的坐标)
元素左上角(边框外边缘)与 定位父容器 左上角 的距离
4.
offsetParent对象 是指元素最近的 定位(absolute、relative)对象,如果没有 定位的祖先元素,返回 null
5.
元素 相对于的 定位的父元素的 坐标
function getoffsetElementPosition(e){
var left = 0,
top = 0;
while(e != null){
left += e.offsetLeft,
top += e.offsetTop,
e = e.offsetParent;
}
return {x: left, y: top}
}
//不明白 while(e)为什么 不行
6.
元素 相对于视口的 坐标
用 dom.getBoundingClientRect()
7.
文档 就是document 包括 滚动条