获取元素在浏览器窗口的位置

<div id="box">
    </div>
    <script type="text/javascript">
        function getW(e) {
            var x = y = 0;
            while (e.offsetParent) {
                x += e.offsetLeft;
                x += e.offsetTop;
                e = e.offsetParent;
            }
            return { "x": x, "y": y };
        }

        //获得元素相对父元素的位置
        function getP(e) {
            if (e.parentNode == e.offsetParent) {
                var x = e.offsetLeft;
                var y = e.offsetTop;
            } else {
                var o = getW(e);
                var p = getW(e.parentNode);
                var x = o.x - p.x;
                var y = o.y - p.y;
            }
            return { "x": x, "y": y };
        }
        //调用
        var box = document.getElementById("box");
        var o = getP(box);
        alert(o.x); alert(o.y);
    </script>

 

posted @ 2012-06-24 13:13  kiddy-star  阅读(143)  评论(0)    收藏  举报