我是这样做的
  读当前鼠标的位置
  读window.event.srcElement这个对象的offsetleft位置,(在这里要循环读出父元素的LEFT位置)
  判断两者之间的差是不是在一个范围内(因为如果=0的话,很不好做,我做的是误差=2的话,我也是鼠标改变成向左拉升的状态
  如果你确实需要的话,可以给你CODE

解决方案 »

  1.   

    window.event.offsetX/Y这是鼠标的位置
    可以用document.all来获取包括表格以及DIV这样的元素。这就可以获取其位置,如div用left、top获取位置。
    得到了两者的位置,如何比较,还用说么?
      

  2.   

    <table width="100" height="91" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#9900CC" onClick="alert(this.parentNode.parentNode.parentNode.offsetLeft+this.offsetWidth);">&nbsp;</td>
      </tr>
    </table>
      

  3.   

    改好一点:
    <table width="100" height="91" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#9900CC" onmousemove="window.status=this.parentNode.parentNode.parentNode.offsetLeft+this.offsetWidth==event.x;">&nbsp;</td>
      </tr>
    </table>
      

  4.   

    多谢各位关注。以上的方法基本可以实现,以前实现另一种功能的时候试过,通过回溯求offsetLeft,在table和div多层嵌套的页面得到的值不正确。<table height="91" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>onmousemoveonmousemoveonmousemove</td>
      </tr>
      <tr>
        <td bgcolor="#9900CC" onmousemove="window.status=Math.abs(GetOffsetLeft(this)+this.offsetWidth-event.x)<3;"
        onmouseleave="window.status='';">&nbsp;</td>
      </tr>
    </table>
    <script language="JavaScript">
    <!--
    function GetOffsetLeft(objEven)
    {
        var thisOffsetLeft = 0;
        var obj = objEven;
        while (obj.parentNode && obj.tagName!='TABLE')
        {
            obj = obj.parentNode;
            thisOffsetLeft += obj.offsetLeft;
        }
        return thisOffsetLeft;
    }
    -->
    </script>