在JS中可以用style.width以及offsetWidth获取对象的宽度,但是有所不同
1、style.width只能获取对象的行间样式(嵌入式样式表),offsetWidth不仅能获取对象的行间样式表,还可以获取内联、外联样式表中的样式。
2、style.width获取的仅仅是对象的width,不包含padding、border等,并且返回带px的宽度值(string),比如“200px”,offsetWidth返回的是对象的width+padding+border值,并且返回的值不会包含“px”,也就是返回一个数值(number)。
3、在JS中可以通过style.width给对象设置width值,但是不能通过offsetWidth设置width,因为offsetWidth是一个属性而并非方法
JS中类似的属性
- scrollHeight:内容的实际高度+上下padding(如果没有限制div的height,一般是scrollHeight==clientHeight)
- scrollLeft:设置或获取位于对象左边界和窗口中目前可见的最左端之间的距离;
- scrollTop:Y轴的滚动条没有,或滚到最上时,是0;y轴的滚动条滚到最下时是 scrollHeight-clientHeight
- scrollWidth:获取对象的滚动宽度;
- offsetHeight:height+上下padding+上下border-width。
- offsetLeft:获取对象相对于版面或由父坐标offsetParent属性指定的父坐标的计算左侧位置;
- offsetTop:可以理解为容器相对于document的top的绝对偏移。等于top+margin-top
- offsetWidth:获取对象相对于版面或由父坐标offsetParent属性指定的父坐标的宽度;
- event.clientX:相对文档的水平坐标;
- event.client Y:相对文档的垂直坐标;
- event.offsetX:相对容器的水平坐标;
- event.offsetY:相对容器的垂直坐标;
- document.documentElement.scrollTop:获取垂直方向滚动的值;
- event.clientX+document.documentElement.scrollTop:获取相对文档水平坐标+垂直方向滚动的量;
- document.body.clientWidth:网页可见区域的宽;
- window.screenTop: 网页正文部分;
- window.screen.height:屏幕分辨率的高;
- window.screen.width:屏幕分辨率的宽;
- window.screen.availHeight:屏幕可用工作区的高;
- window.screen.availWidth:屏幕可用工作区的宽;
- clientHeight: 可理解为内部可视区高度,样式的height+上下padding
- clientTop: 容器内部相对于容器本身的top偏移,实际就是 上border-width