对于javascript中各种位置属性,之前在写特效时是需要什么就用什么,还没有认认真真的系统的去总结下。在很多特效中位置属性起着举足轻重的作用。如果浏览器对每种属性的解释都相同,我们也不用浪费太多的精力,因为对于每一种属性,不同的浏览器有着不同的解释。

  这篇文章涵盖了目前各种主流对象的各种位置的属性,如果有什么错误的地方或者遗漏的地方请不要吝惜你的文字。

  总结这些属性,也算是对自己有个交代。

window对象

  •  innerHeight
  •  innerWidth
  •  outerHtight
  •  outerWidth
  •  pageXOffset
  •  pageXOffset
  •  screenLeft
  •  screenTop
  •  screenX
  •  ScreenY

  innerHeight  innerWidth

 

innerHeight

返回窗口的文档显示区的高度

innerWidth

返回窗口的文档县市区的宽度

 

    浏览器兼容性:

    

            实例代码:【注意在FF中测试】

  

<html>
<head>
<script type="text/javascript">
function openWin()
{
myWindow=window.open('','','top=0,left=0');
myWindow.innerHeight="200";
myWindow.innerWidth="200";
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
}
</script>
</head>
<body>

<input type="button" value="Open 'myWindow'" onclick="openWin()" />

</body>
</html>

 效果实现:

 

  outerHeight  outerWidth

  

outerHeight

返回窗口的外部高度,包括工具栏和滚动条

outerWidth

返回窗口的外部宽度,包括工具栏和滚动条

   浏览器兼容性:

          代码实现:【在FF中测试】

        

<html>
<head>
<script type="text/javascript">
function openWin()
{
myWindow=window.open('','');
myWindow.outerHeight="200";
myWindow.outerWidth="200";
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
}
</script>
</head>
<body>

<input type="button" value="Open 'myWindow'" onclick="openWin()" />

</body>
</html>

 

    效果实现:

 

pageXOffset   pageYOffset

pageXOffset

声明当前文档向右滚动过的像素数

pageYOffset

声明当前文档向下滚动过的像素数

 

                IE不支持这些属性,IE使用document.dacumentElementdocument.bodyscrollLeftscrollTop属性。

  浏览器兼容性:

 

  实例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
 </head>

 <body>
  <script type="text/javascript">
	function set(){
       window.scrollBy(100,100);
	   alert("pageXOffset: " + window.pageXOffset + ", pageYOffset: " + window.pageYOffset);
		return true;
	}
  </script>
    <input type="button" value="click" onclick="set()"/>
  1
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  1111111111111111111111111111111111111111111111111111111111111111111111111111111111
 1111111111111111111111111111111111111111111111111111111111
  11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  2
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
 </body>
</html>

   效果实例:

   

 

 

screenTop  screenLeft   screenX   screenY

  

  screenTop 

只读整数,声明窗口的左上角的Y坐标

  screenLeft 

只读整数,声明窗口的左上角的X坐标

  screenX

只读整数,声明窗口的左上角的X坐标

  screenY

只读整数,声明窗口的左上角的Y坐标

  浏览器兼容性:

    screenTop  screenLeft

 

    screenX  screenY

  实例代码:

  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
 </head>

 <body>
  <script type="text/javascript">
	function test(){
		if(window.screenTop){
			alert(screenLeft+"::"+screenTop);
		}else if(window.screenX){
			alert(screenX+"::"+screenY);
		}else alert("this is a joke");
	}
  </script>
  <input type="button" value="click" onclick="test()"/>
 </body>
</html>

   效果实例:

    在Chrom中测试:

      在FF中测试:

 

posted on 2011-12-03 13:19  十二月的黄昏  阅读(1738)  评论(3编辑  收藏  举报