DOM盒子模型
获取行间样式
style.height //获取行间样式高度 xx.currentStyle.height //计算后的样式高度 IE低版本 getComputedStyle().height //获取计算后的样式高度(不支持padding) 谷歌高版本(只可读不可改)
设置行间属性
设置自定义属性 xx.setAttribute('index','i'); //属性名,属性值 获取自定义属性 xx.getAttribute('index');//得到属性值 删除自定义属性 xx.removeAttribute('index');
client系列(可视区域)
clientWidth、clientHeight //获取可视区域的宽高(支持padding,不支持border) clientLeft//获取元素边框的左边框宽度 clientTop//获取元素边框的上边框宽度
offset系列(偏移量)
使用时候要有定位,而且设置初始值;如果没有父级定位会跟着父级走
offsetWidth/offsetHeight //获取容器宽高(在client的基础上,支持border) offsetLeft //获取当前元素的左外边框到定位的父级左内边框的距离 //如果没有定位父级或者祖先级,那么就应该跟html走 offsetTop //指元素的边框的外边缘距离与已定位的父容器(offsetparent)的上边距离(不包括元素的边框和父容器的边框) offsetaParent //定位父级 //(在没有任何定位的情况下它走的是body(在chrome中实测是走html))
scroll系列(滚动)
scrollWidth/scrollHeight //获取元素本身的宽高 (被内容撑开的尺寸,不管加不加固定尺寸,都会获取出来) scrolltop //获取或设置一个元素的内容垂直滚动的像素数 scrollLeft //获取或设置一个元素的内容水平滚动的像素数
getBoundingClientRect() 获取元素位置
- 获得页面中某个元素的左,上,右,下分别相对浏览器视窗的位置
- 指DOM元素到浏览器可视范围的距离(不包含文档卷起的部分)
- 返回一个object对象
- 有left,top.right,bottom,width,height六个值
var box=document.getElementById('box'); // 获取元素 alert(box.getBoundingClientRect().top); // 元素上边距离页面上边的距离 alert(box.getBoundingClientRect().right); // 元素右边距离页面左边的距离 alert(box.getBoundingClientRect().bottom); // 元素下边距离页面上边的距离 alert(box.getBoundingClientRect().left); // 元素左边距离页面左边的距离