我可以用JQuery获取div的坐标吗?

时间:2010-01-27 04:32:36

标签: jquery

页面上div的位置各不相同。如何从顶部获得y位置?

3 个答案:

答案 0 :(得分:10)

的jQuery( '#标识')。偏移()

返回具有顶部和左侧偏移的对象。

http://api.jquery.com/offset/

答案 1 :(得分:3)

所以你必须选择。 position() offset()

position()基本类似于您可以在CSS top,left属性中使用的内容。

offset()将返回相对于文档的距离。这会考虑边距,填充和边框。

   <style>
     .cont {
        position: absolute;
        top: 100px;
        left: 100px;
        border: solid 3px black;
     }
     p { 
        margin: 20px; 
        padding: 20px; 
        border: solid 2px black;
        position: absolute; 
        top: 20px; 
        left: 20px; 
     }
    </style>

    <div class="cont">
         <p>Hello World!</p>
    </div>

    $('p').position() => { top: 20, left: 20 }
    $('p').offset() => { top: 143, left : 143 }

注意位置值与CSS值的相同之处,offset考虑父级的位置,父级的边界和元素的'(p')边距和填充。

http://jsfiddle.net/4wfa6/

http://docs.jquery.com/CSS

答案 2 :(得分:2)

您可能还对位置函数感兴趣,该函数获取相对于偏移父项的位置(vs相对于文档获取它的偏移量)

var position = $('#id').position();

http://api.jquery.com/position/