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

为什么得到的offsetHeight的值是一样的?
function   ShowAddMenu()
{
var   MenuObj=document.all.AddContentMenu;
var   el=event.srcElement;
alert(el.offsetHeight);//每次值都是20
MenuObj.style.display= ' ';
MenuObj.style.posLeft=el.offsetLeft;
MenuObj.style.posTop=el.offsetHeight;
MenuObj.className= "menushow ";
MenuObj.setCapture();
}

我的table大概是这样:
<body   scroll=no   topmargin= "2 "   leftmargin= "2 ">
<table>
<tr>
<td>
<table>
<tr>
<td   onclick= "ShowAddMenu() "> 点我 </td>
</tr>
</table>
</td>
</tr>
<tr>
<td> 内容 </td>
</tr>
<tr>
<td>
<table>
<tr>
<td   onclick= "ShowAddMenu() "> 点我 </td>
</tr>
</table>
</td>
</tr>
</table>

小弟初学JS..还望大虾们指点..

------解决方案--------------------
试试这个
function getAbsPoint(e)
{
var x = e.offsetLeft, y = e.offsetTop;
while(e=e.offsetParent)
{
x += e.offsetLeft;
y += e.offsetTop;
}
alert( "x: "+x+ ", "+ "y: "+y);
}

</script>
我的table大概是这样:
<body scroll=no topmargin= "2 " leftmargin= "2 ">
<table>
<tr>
<td>
<table>
<tr name= "tr1 ">
<td name= "td1 "> <div onclick= "getAbsPoint(this) "> 点我 </div> </td>