DOM—元素大小—元素偏移
一、元素大小
offsetWidth
offsetHeight
注:
1》offsetWidth、offsetHeight是没有加入单位的 (返回是number数值类型)
#区分:与getComputedStyle字符串类型(加了单位的)不同
2》可以计算的两个值
a)计算边框 (border)
b)计算内边距 (padding)
不能记算外边距 (margin),和盒子的宽度没有关系(外边距和大小是不同的)
border:
padding:
案例:写一个定时器每隔50毫秒,实现box盒子宽度增加2像素
如果加了边框,减4px,盒子向左移。但是如果减2px,盒子不改变;减1px,反而会加,盒子往右移。
原因是:offsetWidth会计算边框和宽度,当减1px时,offsetWidth实际为202px,现在减1px=201px,而201px赋给它width(200px),那么相当于加了1px。再隔50毫秒执行,即201px加2px=203px,再减1px就=202,所以box又增加1px。
二、元素偏移
offsetLeft
offsetTop
注:
1》是没有加入单位的 (返回是number数值类型)
2》计算: 计算margin
3》定位的关系
a》如果没有定位,返回元素左侧距离浏览器左侧的偏移量
b》如果有定位,返回元素左侧距离和定义元素距离的偏移量
滚动的距离
点击按钮来检测拖动滚动条的距离