广元网站建设、网页设计、域名注册、空间租用就找广元动力网络

+网站建设专线:0816-2318288 +24小时服务热线:0816-6339181
首页       关于我们   作品展示   域名空间   项目服务   行业新闻   建站学院   SEO优化   合作伙伴   联系我们   
广元动力网络真心为您服务!承接网站建设 + 网页设计 + FLASH设计 + 网站开发 + 平面设计,专业技术人员一对一服务让建站更加专业更加放心……二十小时服务热线:0816-2318288。欢迎来电咨询…… 现在时间是
文章展示
网站建设 网站推广 一切竟掌握

JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度

发布者:广元动力网络  发布时间:2009-5-25  点击次数:3182
网页可见区域宽: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

1.clientHeight, clientWidth: 
这两个属性大体上显示了元素内容的象素高度和宽度.理论上说这些测量不考虑任何通过样式表加入 
元素中的页边距,边框等. 

2.clientLeft,clientTop: 
这两个返回的是元素周围边框的厚度,如果不指定一个边框或者不定位改元素,他的值就是0. 

3.scrollLeft,scrollTop: 
如果元素是可以滚动的,可以通过这俩个属性得到元素在水平和垂直方向上滚动了多远,单位是象素. 
对于不可以滚动的元素,这些值总是0. 

4.scrollHeight,scrollWidth: 
不管有多少对象在页面上可见,他们得到的是整体.

5.style.left: 
定位元素与包含它的矩形左边界的偏移量 

6.style.pixelLeft: 
返回定位元素左边界偏移量的整数像素值.因为属性的非像素值返回的是包含单位的字符串,例如,30px. 利用这个属性可以单独处理以像素为单位的数值. 

7.style:posLetf: 
返回定位元素左边界偏移量的数量值,不管相应的样式表元素指定什么单位.因为属性的非位置值返回的是包含单位的字符串,例如,1.2em   


HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 
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 相对文档的水平座标+垂直方向滚动的量

IE,FireFox 差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE5.0/5.5: 
clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)


-------------------

技术要点
本节代码主要使用了Document对象关于窗口的一些属性,这些属性的主要功能和用法如下。

要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在IE下需要深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。

Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。

Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。

document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。

实现代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>请调整浏览器窗口</title><meta http-equiv="content-type" content="text/html; charset=gb2312"></head>

<body>

<h2 align="center">请调整浏览器窗口大小</h2><hr><form action="#" method="get" name="form1" id="form1"><!--显示浏览器窗口的实际尺寸-->浏览器窗口 的 实际高度: <input type="text" name="availHeight" size="4"><br>浏览器窗口 的 实际宽度: <input type="text" name="availWidth" size="4"><br></form>

<script type="text/javascript"><!-- var winWidth = 0;   var winHeight = 0;   function findDimensions() //函数:获取尺寸   {   //获取窗口宽度   if (window.innerWidth)   winWidth = window.innerWidth;   else if ((document.body) && (document.body.clientWidth))   winWidth = document.body.clientWidth;   //获取窗口高度   if (window.innerHeight)   winHeight = window.innerHeight;   else if ((document.body) && (document.body.clientHeight))   winHeight = document.body.clientHeight;   //通过深入Document内部对body进行检测,获取窗口大小   if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)   {   winHeight = document.documentElement.clientHeight;   winWidth = document.documentElement.clientWidth;   }   //结果输出至两个文本框   document.form1.availHeight.value= winHeight;   document.form1.availWidth.value= winWidth;   }   findDimensions();   //调用函数,获取数值   window.onresize=findDimensions;//--></script>

</body></html>


源程序解读

(1)程序首先建立一个表单,包含两个文本框,用于显示窗口当前的宽度和高度,并且,其数值会随窗口大小的改变而变化。

(2)在随后的JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口的高度值和宽度值。

(3)然后,在函数findDimensions ( )中,使用window.innerHeight和window.innerWidth得到窗口的高度和宽度,并将二者保存在前述两个变量中。

(4)再通过深入Document内部对body进行检测,获取窗口大小,并存储在前述两个变量中。

(5)在函数的最后,通过按名称访问表单元素,结果输出至两个文本框。

(6)在JavaScript代码的最后,通过调用findDimensions ( )函数,完成整个操作。
 
相关文章展示: 关键词: JS浏览器  窗口大小  屏幕  浏览器  网页  高度  宽度 
Javascript修正12个浏览器兼容问题 [40334]
微软IE浏览器四面受敌 [22102]
你是一个职业的页面重构工作者吗 [11739]
9个让你成为更牛网页设计师的要诀 [11696]
网页快照新发现 书签 [11653]
DIV自适应高度如何来控制 [6450]
SEO中网页描述以及重要内容的优化 [6192]
网页设计该用多大的字 [4343]
网页配色工具 [3870]
Link新属性:canonical强网页权重 [3526]
 
联系我们
 
  咨询热线:
  0816-2318288
业务咨询QQ
业务咨询QQ
业务咨询QQ
空间域名QQ
技术支持QQ
MSN客服
推荐文章
查看更多
· Photoshop制作Windows 7风格导航
· 如何做好企业新闻的软文?
· 给网站带来流量的新式推广
· textarea 换行解决方法
· javascript如何转换特殊字符,&,代替
· 迈克尔·杰克逊去世 终年50岁
· asp怎么去掉html代码
· css去掉所有链接虚线框
· 香河开发商给个北京人的烙印【转自焦点房地产】
· FLASH实用代码大全
· 在Dreamweaver中为Flash添加透明属性的简单方法
· CSS渐变滤镜大全
   最新作品
视觉超酷摄影网站-广元网站建设
视觉超酷摄影网站
防火包/涂料/堵料生产商-广元网站建设
防火包/涂料/堵料生产商
西江游戏投资-广元网站建设
西江游戏投资
北光世纪仪器有限公司-广元网站建设
北光世纪仪器有限公司
正烁-广元网站建设
正烁
信中利投资有限公司-广元网站建设
信中利投资有限公司
柯莱柏贸易有限公司-广元网站建设
柯莱柏贸易有限公司
现代大师-广元网站建设
现代大师
|   关于我们  |   建站学院  |   域名空间  |   作品展示  |   合作伙伴  |   服务项目  |   联系我们  |  
客服热线:0816-2318288    E-MAIL:mydongli#126.com 
Copyright © 2009 广元动力网络 All rights reserved.  蜀ICP备06009925号
    
客服
客服
技术
域名