offset家族

1, offsetWidth offsetHeight 得到对象的宽和高(自己的宽和高)

1

2

3

offsetWidth = width + border + padding;

offsetHeight = height + border + padding;

p.style.width 只能得到行内样式的数值

2, offsetLeft和offsetTop 返回距离上级盒子(带有定位)的左边和上边的位置,

如果父级没有定位, 则以body为准, 这里的父级指的是所有上一级, 不仅仅是父亲,

offsetLeft 从父亲的padding开始算, 父亲的border不算

3, 动画缓动公式

1

2

3

4

var start=0, end = 0;

setInterval(function(){

start = start + (end - start)/10;

}, 30);

4, offsetParent 返回对象的父级(带有定位的父级) 和parentNode类似, 没有定位时, 返回body

区别:parentNode一定是父亲, offsetParent可以是爸爸, 爷爷等

5, offsetTop, offsetLeft和style.top, style.left的区别

5.1 offsetTop, offsetLeft可以是没有定位的盒子距离上边或者左侧的位置

5.2 style.top, style.left只有定位的盒子, 才有top或者left

5.3 offsetTop返回的是数字, 而style.top返回的是字符串, 除了数字外还有单位:px

5.4 offsetTop 只读, 而style.top可读写

5.5 如果没有给html元素指定过top样式, 则 style.top返回的是空字符串

5.6 style.width 只能得到行内样式的数值

关键词: offset是什么意思 使用详解 得到对象 offset