function getElementPosition(element) {
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" && 
                parentTagName != "html" && 
                parentTagName != "div" && 
                parent.clientTop && 
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
}var result = getElementPosition(ele);
alert(result.x + " " + result.y);

解决方案 »

  1.   

    这个简单的也行
    function Point(iX, iY)
    {
    this.x = iX;
    this.y = iY;
    }
    function GetCoordinate(oTag)
    {
    var oTmp = oTag;
    var pt = new Point(0,0);
    do
    {
    pt.x += oTmp.offsetLeft;
    pt.y += oTmp.offsetTop;
    oTmp = oTmp.offsetParent;
    } while(oTmp.tagName!="BODY");
    return pt;
    }
      

  2.   

    1楼计算那是对象相对于iframe的位置,而不是整个屏幕的绝对位置
      

  3.   

    function getElementOffset(el)
    {
        var obj=el,offset=new Object(),x=0,y=0;
        while(obj&&obj.tagName != "BODY")
        {
            x+=obj.offsetLeft - obj.scrollLeft;
            y+=obj.offsetTop - obj.scrollTop;
            obj=obj.offsetParent;
        }
        offset.x=x;
        offset.y=y;
        return offset;
    }
      

  4.   

    <body onmousemove="moveMouse();">
    <table>
    <tr>
    <td>
    <iframe id="main" src ="main.html" width="100%" height="100%" frameborder="0"></iframe>
    </td>
    <td>
    <iframe id="ov" src ="ov.html" width="100%" height="100%" frameborder="0"></iframe>
    </td>
    </tr>
    </table>
    </body>main.html
    <body>
    <div id="main" style="width:100%; height:100%;">
    </div>

    </body>