楼主的习惯很好啊~
<input type="text" id="inp" />
<script>
function getPos(obj){
var tem = obj, left=0, top=0;
while(tem!=null){
            left += tem.offsetLeft;
top += tem.offsetTop;
tem = tem.offsetParent;
}
return {'left':left, 'top':top}
} var pos = getPos(document.getElementById('inp'));
alert('inp.left='+pos.left+'\n'+'inp.top='+pos.top);
</script>

解决方案 »

  1.   

    <table width="600" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input onclick="ss(this)"></td>
        <td><input name="Input" onclick="ss(this)" /></td>
        <td><input name="Input2" onclick="ss(this)" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <script>
    function ss(e)
    {
    var left=e.offsetLeft
    var top=e.offsetTop
    var width =e.offsetWidth
    var height =e.offsetHeight
    while (e=e.offsetParent) {
    left += e.offsetLeft;
    top += e.offsetTop;
    };alert(left+width)  //右边的x 坐标
    alert(top+height)  //input的下边框坐标
    alert(top)        //input上边框坐标
    }
    </script>
    结帖绿明明只有50%
      

  2.   

    先是得到文本框位置坐标也就是左上角的坐标,
    然后根据你设置的文本框的wighth和height就可以得到其他三个角坐标
      

  3.   

    其中return {'left':left, 'top':top} 很好,调用时只需要pos.left  pos.top完全面向对象