700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JS中height clientHeight scrollHeight offsetHeight区别

JS中height clientHeight scrollHeight offsetHeight区别

时间:2018-08-14 10:35:14

相关推荐

JS中height clientHeight scrollHeight offsetHeight区别

名称解释:

网页可见区域宽: document.body.clientWidth;

网页可见区域高: document.body.clientHeight;

网页可见区域宽: document.body.offsetWidth (包括边线的宽);

网页可见区域高: document.body.offsetHeight (包括边线的宽);

网页正文全文宽: document.body.scrollWidth;

网页正文全文高: document.body.scrollHeight;

网页被卷去的高: document.body.scrollTop;

网页被卷去的左: document.body.scrollLeft;

网页正文部分上: window.screenTop;

网页正文部分左: window.screenLeft;

屏幕分辨率的高: window.screen.height;

屏幕分辨率的宽: window.screen.width;

屏幕可用工作区高度: window.screen.availHeight;

屏幕可用工作区宽度:window.screen.availWidth;

scrollHeight: 获取对象的滚动高度。

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度

offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

event.clientX 相对文档的水平座标

event.clientY 相对文档的垂直座标

event.offsetX 相对容器的水平坐标

event.offsetY 相对容器的垂直坐标

document.documentElement.scrollTop 垂直方向滚动的值

event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

要获取当前页面的滚动条纵坐标位置,用:

document.documentElement.scrollTop;

而不是:

document.body.scrollTop;

documentElement 对应的是 html 标签,而 body 对应的是 body 标签 。

示例讲解:

1、height

其实height高度跟其他的高度有点不一样,在javascript中它是属于对象的style对象属性中的一个成员,它的值是一个字符类型的。而另外三个高度的值是int类型的,它们是对象的属性。因此这样document.body.height就会提示undenifine,而必须写成document.body.style.height

function justAtest(){var test=document.getElementById("test");var test2=document.getElementById("test2")var test3=document.getElementById("test3")var test4=document.getElementById("test4");alert(test4.style.height);alert(test3.style.height);alert(test2.style.height)alert(test.style.height);alert(document.body.style.height)}

上面的脚本将依次弹出700px,550px,600px,500px,1000px。height是最简单的了,不必去考虑是否有滚动条及边框等.因此也不做多解释了。

2、clientHeight

clientHeight:可见区域的宽度,不包括boder的宽度。如果区域内带有滚动条,还应该减去横向滚动条不可用的高度,正常的是17px,其实就是滚动条的可滚动的部分了。其实clientHeight与height的高度差不多,如果不带滚动条的话他们的值都是一样的,如果带有滚动条的话就会比height值少17px

function justAtest(){var test=document.getElementById("test");var test2=document.getElementById("test2")var test3=document.getElementById("test3")var test4=document.getElementById("test4");alert(test4.clientHeight);alert(test3.clientHeight);alert(test2.clientHeight)alert(test.clientHeight);alert(document.body.clientHeight)}

运行后火狐的结果为:700,550,583,483,1000

IE的结果为:700 ,550,583,483,1000

3、scrollHeight

火狐中滚动条可滚动的部分还要加上boder的高度还要加上横向滚动条不可用的高度,与clientHeight比起来,多个border的高度跟横向滚动条不可用的高度.

在IE中 scrollHeight是指这个对象它所包含的对象的高度加上boder的高度和marging,如果它里面没有包含对象或者这个对象的高度值未设置,那么它的值将为15

function justAtest(){var test=document.getElementById("test");var test2=document.getElementById("test2")var test3=document.getElementById("test3")var test4=document.getElementById("test4");alert(test4.scrollHeight);alert(test3.scrollHeight);alert(test2.scrollHeight)alert(test.scrollHeight);alert(document.body.scrollHeight)}

运行后火狐的结果为:700,552,700,602,1002

IE的结果为: 15, 15 , 700,602, 552

4、offsetHeight

表示是自身的高度,如果有设置boder的话还应该加上boder的值

function justAtest(){var test=document.getElementById("test");var test2=document.getElementById("test2")var test3=document.getElementById("test3")var test4=document.getElementById("test4");alert(test4.offsetHeight);alert(test3.offsetHeight);alert(test2.offsetHeight)alert(test.offsetHeight);alert(document.body.offsetHeight)}

offsetHeight:

FF:700,552,602,502,1002

IE:700,552,602,502,1002

这个属性好办,因为在测试中IE跟火狐的结果是一样的,均,因为除了test4这个div外,其他的div均有设置border=1px,所以552=550+2,其他的均一样.

嘿嘿,综上所述,clientHeight与height的区别是如果有滚动条时应减去滚动条的17px不可用部分,offsetHeight与Height的区别是增加了boder的高度,ScrollHeihgt与Height的区别是火狐下与offsetHeight一致,IE下如上所述.

相信你了解了这个,对width,clientWidth,scrollWidth,offsetWidth已经不陌生了吧,只不过一个是长一个是宽的问题了.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。