• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

JavaScript中页面和块高度的属性总结

时间:2015年04月02日 15:24:39    来源:魔法猪系统重装大师官网    人气:14232

经常看到有人百度为什么cliengHeihgt获取的值为0,clientHeight与offsetHeight到底哪里不一样,为什么遇到这样问题的时候你总是感到迷惘呢,究其原因是对他们的属性不认识造成的,当我们创建HTML页面时候对于一个元素的宽度通常我们会指定他多大(以百分比或以像素为单位),但高度往往可以有所不同,这取决于你的内容。与块的高度相关联的常见问题是:向下滚动到特定的地方高度是多少;元素的绝对位置,;一个块相对于另一个块的高度等。在这种情况下CSS并不总是有帮助,特别是如果页面是动态的,这个时候使用javascript来获取他们的值是非常有帮助的

页面高度

设置窗口对象的高度的方法:

属性描述
innerHeight(innerWidth)设置窗口的内容区域的高度
outerHeight(outerWidth)设置窗口高度
screen.availHeight(screen.availWidth)高度,以像素为单位的工作区屏幕大小(不含工具栏的高度)
screen.height(screen.width) 屏幕的高度(以像素为单位)
screenY(screenX)从屏幕顶部到浏览器窗口的上边界的距离
scrollY(scrollX)文档垂直滚动的距离
pageYOffset(pageXOffset)页面的当前垂直位置相对于窗口角最上方左侧

请注意,第一并非所有的浏览器都支持,第二,并非所有的属性值一致。另外,不要忘 记,这些都是针对窗口对象中的所有属性,这意味着它们只适用于窗口对象,所以你不能这样写document.getElementById(ID).innerHeight等  但是,在测试过程中(IE 6, FF 2.0, Opera 9.25)),结果发现,所有的浏览器只支持window.screen.availHeight和 window.screen.height(见下面汇总表)。但是,在大多数情况下,这是不够的,它往往是要知道块或容器的高度,所以你应该寻找其他方式

属性描述
clientHeight(clientWidth)没有滚动条的高度
scrollHeight(scrollWidth)包括滚动条的高度
scrollTop(scrollLeft)当前位置相对于该块的上边界的垂直位移
offsetHeight(offsetWidth)对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变

重要注意事项:这些属性需要在页面完全加载后才能使用,否则可能会有所不同,为什么呢?看下面的表...

汇总表

属性

没有定义DOCTYPE定义了!!DOCTYPE XHTML 1.0 Transitional
ie浏览器(6)FF(2.0)Opera(9.25)ie浏览器(6)FF(2.0)Opera(9.25)

window.innerHeight

未定义

807

848 

未定义

807

848

window.outerHeight

未定义

979

911

未定义

979

911

window.screen.availHeight

971

971

971

971

971

971

window.screen.height

1024

1024

1024

1024

1024

1024

window.screenY

未定义

-4

-23

未定义

-4

-23

window.scrollY

未定义

变化取决于从滚动

未定义

未定义

变化取决于从滚动

未定义

window.pageYOffset

未定义

变化取决于从滚动

变化取决于从滚动

未定义

变化取决于从滚动

变化取决于从滚动

document.body.clientHeight

846

807

848

3196

3124

3136

document.body.scrollHeight

3252

3202

3166

3196

3124

3136

document.body.scrollTop

变化取决于从滚动

变化取决于从滚动

变化取决于从滚动

0

0

0

document.documentElement.scrollTop

0

0

0

变化取决于从滚动

变化取决于从滚动

变化取决于从滚动

document.body.offsetHeight

850

3192

848

3196

3124

3136

的document.getElementById(this_tbl).clientHeight

361

371

361

361

370

361

的document.getElementById(this_tbl).scrollHeight

361

371

361

361

370

361

的document.getElementById(this_tbl).offsetHeight

361

371

361

361

370

361

测试在您的浏览器(刷新页面点击下面refresh按钮就行测试)

window.innerHeight 916
window.outerHeight 1020
window.screen.availHeight 1020
window.screen.height 1050
window.screenY 0
window.scrollY 0
window.pageYOffset 0
document.body.clientHeight 975
document.body.scrollHeight 2412
document.body.scrollTop 0
document.documentElement.scrollTop 0
document.body.offsetHeight 975
document.getElementById(tbl).clientHeight 421
document.getElementById(tbl).scrollHeight 421
document.getElementById(tbl).offsetHeight 421

注: 表中的值取决于个人设置(工具栏,状态栏,字体大小等),所以他们可能会有所不同,即使你的浏览器版本是相同的。

结论

DOCTYPE影响上述参数的值;

在屏幕上确定高度时,你总是可以根据window.screen.height来确定;

找到一个页面或块元素的可见部分的高度使用的document.getElementById.(id).clientHeight,包括滚动部分的- 的document.getElementById(ID).scrollHeight。

JavaScript,中,页面,和,块,高度,的,属性,总结
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部