获得div的相对和绝对位置

<!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> new document </title>
  <meta name="generator" content="editplus" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
 

 </head>

 <body οnlοad="getabspos();">
 <div id="mydiv" >
  我在这里,我现在的相对绝对位置是一样的。<br />
  你可以根据具体情况来改变我的位置,测试后肯定是可以使用的。<br />
 </div>
 <!-- 这个div可被包含到任何标签内,任何位置。 -->

 <script type="text/javascript">
 <!--
 var objDiv = document.getElementById("mydiv");
 var docScrollLeft = getBodyObj().scrollLeft;
 var docSrollTop = getBodyObj().scrollTop;
 var e = objDiv;//如果页面没有加载mydiv的话这里会有“缺少对象”的异常。
 var t = e.offsetTop;
 var l = e.offsetLeft;

 //这里是为了兼容,因为做了第一行doctype的声明,document.body是得不到的,或者得到的是空对象。
 function getBodyObj() { return (document.documentElement)?document.documentElement:document.body; }

 function getabspos()
 {
  //得到绝对位置:
  while(e = e.offsetParent)
  {
   t += e.offsetTop;
   l += e.offsetLeft;
  }
  alert("abs_Left: " + l + "abs_Top: " + t);

  //得到相对位置:绝对位置减去document.body.scrollLeft和document.body.scrollTop就是相对位置。
  alert("rel_Left: " + (l-getBodyObj().scrollLeft) + "rel_Top: " +(t-getBodyObj().scrollTop));
 }
 //-->
 </script>
 </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值