jsz中scrollTop,clientTop,offsetTop

先来一张名气很大的图

jsz中scrollTop,clientTop,offsetTop_第1张图片
看着是不是很晕

看着实在是好晕,于是各种整理后手动画了一个:

jsz中scrollTop,clientTop,offsetTop_第2张图片
画的还是很乱套,估计就自己能看懂了

发现主要分为几部分:

一、元素自身宽度,边框,内边距,外边距

div.style.width
div.style.margin
div.style.padding

二、元素定位的宽度和高度

当定位时,position的移动的距离,

div.style.top
div.style.left

三、scroll部分

scrollHeight:文档总高度,可滚动总高度(包含元素本身,内外边距,边框)
scrollWidth:文档总宽度,可滚动总宽度(包含元素本身,内外边距,边框)
scrollTop:相对于滚动条顶部的偏移,指滚动条顶端与当前滚动条位置的距离
scrollLeft:相当于滚动与左端的偏移

四、client部分

clientHeight:可视区域高度(不包含边框,滚动条)
clientWidth:可视区域宽度
clientTop:内容区域相对于整个元素的左上角,当有边距时为边距的厚度,无边距时可以为0
clientLeft:内容区域相对于整个区域的左上角,有边距时为边距的宽度,可以为0

五、offset部分

offsetHeight:获取自身元素(包含边距,滚动条)
offsetWidth:获取自身元素(包含边距,滚动条)
offsetTop:相对于最近定位祖元素的偏移,(祖元素必须是position,relative,absloute,fixed)
offsetLeft:同offsetTop

六、offsetParent

返回第一个祖定位元素,若父级元素无定位返回body,若父级元素已经定位返回相对应父级对应元素。

你可能感兴趣的:(jsz中scrollTop,clientTop,offsetTop)