日期:2014-05-16  浏览次数:20388 次

js页面定位,相关几个属性
网页可见区域宽: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

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均无关)

您可以尝试运行下面的代码:

<body> 

<SCRIPT  LANGUAGE="JavaScript"> 

var    s  ="网页可见区域宽:"+  document.body.clientWidth; 

s+="\r\n网页可见区域高:"+  document.body.clientHeight; 

s  +=  "\r\n网页正文全文宽:"+  document.body.scrollWidth; 

s  +=  "\r\n网页正文全文高:"+  document.body.scrollHeight; 

s  +=  "\r\n网页正文部分上:"+  window.screenTop; 

s  +=  "\r\n网页正文部分左:"+  window.screenLeft; 

s  +=  "\r\n屏幕分辨率的高:"+  window.screen.height; 

s  +=  "\r\n屏幕分辨率的宽:"+  window.screen.width; 

s  +="\r\n屏幕可用工作区高度:"+  window.screen.availHeight; 

s  +="\r\n屏幕可用工作区宽度:"+  window.screen.availWidth; 

alert(s); 

</SCRIPT>

 

js定位div到其它element

function setDiv(ele, div)

{

   var ttop   = ele.offsetTop;

   var thei   = ele.clientHeight;

   var tleft = ele.offsetLeft;

  while (ele= ele.offsetParent){ttop+=ele.offsetTop; tleft+=ele.offsetLeft;}

   div.style.top = (ttop + thei) + 'px';

   div.style.left = tleft + 'px';

}