JavaScript中的获取对象宽高等属性的方法和区别对比讲解
在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返回的值不仅仅包含width值。
js中类似的属性
scrollheight:获取对象的滚动高度;
scrollleft:设置或获取位于对象左边界和窗口中目前可见的最左端之间的距离;
scrolltop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离;
scrollwidth:获取对象的滚动宽度;
offsetheight:获取对象相对于版面或由父坐标offsetparent属性指定的父坐标的高度;
offsetleft:获取对象相对于版面或由父坐标offsetparent属性指定的父坐标的计算左侧位置;
offsettop:获取对象相对于版面或由父坐标offsetparent属性指定的父坐标的计算顶端位置;
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:屏幕可用工作区的宽;