function myPosition(obj){ var t = obj.offsetTop,l = obj.offsetLeft; while (obj= obj.offsetParent){ t += obj.offsetTop; l += obj.offsetLeft; } alert(t); alert(l); } <table> <tr class="TrTitle"> <td align="center" onclick="myPosition(this)">设备台帐类型信息</td> </tr> </table>
//求某个控件在页面中的位置,wz表示取值,top,left //objName 控件名称 //var pos = new Get_IE(InputName); //pos.Top,pos.Left function Get_IE(objName) { var obj = document.all[objName];
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function init() {
div1.style.display = "";
div1.style.position = "relative";
div1.style.top = tab1.style.top +100;
div1.style.left = tab1.style.left +100;
//div1.style.top = event.x +10;
//div1.style.left = event.y +10;
}
//-->
</SCRIPT>
</HEAD><BODY >
ddddd
<br>
<br>
<br>
<br>
<br>
<TABLE id="div1" style="display:none">
<TR>
<TD>sina.com</TD>
</TR>
<TR>
<TD>ge.com</TD>
</TR>
<TR>
<TD>chinaren.com</TD>
</TR>
</TABLE>
<table border=1 id = "tab1" onmouseover="init()">
<tr><td>dd</td></tr>
<tr><td>cc</td></tr>
</table></BODY>
</HTML>
var t = obj.offsetTop,l = obj.offsetLeft;
while (obj= obj.offsetParent){
t += obj.offsetTop;
l += obj.offsetLeft;
}
alert(t);
alert(l);
}
<table>
<tr class="TrTitle">
<td align="center" onclick="myPosition(this)">设备台帐类型信息</td>
</tr>
</table>
//objName 控件名称
//var pos = new Get_IE(InputName);
//pos.Top,pos.Left
function Get_IE(objName)
{
var obj = document.all[objName];
objTop = obj.offsetTop;
objLeft = obj.offsetLeft;
while(obj.tagName !="BODY")
{
//alert(obj.tagName);
obj = obj.offsetParent;
objTop += obj.offsetTop;
objLeft += obj.offsetLeft
}
this.Top = objTop;
this.Left = objLeft;
}
---------
请先尝试一下.
脚本是以页面左上角为基准进行测量的,无论你的对象如何变化,它总是可行的.