JavaScript 脚本如何获取到一个图片的左上角的绝对位置

 我来答
马后雷鼓下扬州5058
2013-03-28 · TA获得超过4321个赞
知道小有建树答主
回答量:693
采纳率:33%
帮助的人:800万
展开全部

你说的绝对位置有三种情况:

 

1、相对父层

2、相对视窗

3、相对页面

 

<script type="text/javascript">

window.onload = function() {

    var img = document.getElementById("img");

 

    // 相对父层

    var top_rel_to_parent = img.offsetTop;

    var left_rel_to_parent = img.offsetLeft;

 

    // 相对页面

    function getNodePosition(node) {     

        var top = left = 0;

        while (node) {   

            if (node.tagName) {

                top = top + node.offsetTop;

                left = left + node.offsetLeft;   

                node = node.offsetParent;

            }

            else {

                node = node.parentNode;

            }

        } 

        return [top, left];

    }

 

    var top_rel_to_doc = getNodePosition(img)[0];

    var left_rel_to_doc = getNodePosition(img)[1];

 

    // 相对视窗

    function getScroll() {

        if(typeof pageYOffset !=  'undefined') {

            return [pageYOffset, pageXOffset];

        }

        else {

            var B = document.body;

            var D = document.documentElement;

            D = (D.clientHeight) ? D : B;

            return [D.scrollTop, D.scrollLeft];

        }

    }

 

    var top_rel_to_viewport = top_rel_to_doc - getScroll()[0];

    var left_rel_to_viewport = left_rel_to_doc - getScroll()[1];

};

</script>

 

dommy529
2013-03-29 · TA获得超过1496个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:897万
展开全部
function getOffset(img){
var offset = {left:0,top:0};
while(img){
offset.left += img.offsetLeft;
offset.top += img.offsetTop;
img = img.offsetParent;
};
return offset;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式