元素在网页中的位置

时间:2014-01-14 09:37:26

标签: javascript jquery html

我想在javascript中获取元素的(x,y)坐标。我使用offset jquery。我的代码是:

    var offsets = $('#11a').offset();
    var top = offsets.top;
    var left = offsets.left;
    console.log("Coordinates of re-ranker (top,left): " +top + "," +left)

我的元素是:

   <p id= '11a'>            

console.log中的值与11a的像素值不同,类似于60px x 23px。我在console.log得到的值是完全不同的,也是十进制的。那么我在offsets得到了什么价值?它与像素值不同吗?

3 个答案:

答案 0 :(得分:0)

.offset返回相对于文档的像素值。这种方法完全有可能返回浮点值,因为并非所有大小都是像素整数,例如:

考虑这个HTML:

<div style="position: absolute; left: 33%;"></div>

以下命令(对我而言):

console.log($("div").offset().left); // Outputs 276.203125

jsFiddle of the above

但是,请务必注意链接页面上的黄色框:

  

jQuery不支持获取隐藏的偏移坐标   元素或计算边框,边距或填充   身体元素

     

虽然可以获得元素的坐标   visibility:hidden set,display:none从渲染中排除   树,因此有一个未定义的位置

答案 1 :(得分:0)

它可以获得元素相对于文档的偏移量!

您可以在此处了解详情:http://api.jquery.com/offset/

答案 2 :(得分:0)

您可以通过

获取css值
$("#11a").css("top").replace("px", ""); // You have to remove the 'px' it returns