JQuery在其他元素上找到元素位置

时间:2013-08-06 05:44:06

标签: jquery

我在big div里面有2个div,小div(draggable)

我需要从大的div左上角找到小的div位置,而不是从页面。

大div位置可以是任何位置。(因为页面布局)

<div id='big'>
<div id='small'></div>
</div>

所以如果用户没有拖动小div,则位置将返回0,0

var top=$('#small').position().top; 
alert(top);

我现在拥有的是从页面返回位置,而不是从大div中返回

http://jsfiddle.net/B72mQ/1/

3 个答案:

答案 0 :(得分:1)

DEMO

$(document).ready(function () {
    $('#small').draggable({
        containment: "parent"
    });
    $('#click').click(function () {
        var rel_top = $("#small").css('top');
        var rel_left = $("#small").css('left');
        alert(rel_top + ', ' + rel_left);
    });
});

答案 1 :(得分:0)

$('#small').offset().top

您尝试使用偏移吗?

答案 2 :(得分:0)

在jQuery中获取元素的位置,我们有两个选项

<强>偏移()

这始终与文档有关。

<强>位置()

这始终是相对于元素的偏移父级。

偏移父级:是当前元素的父级,它没有位置值 - 静态。它可以有任何其他位置值。

在您的情况下,将position:relative添加到大div。

CSS代码

#big { position : relative; }

然后position()将给出相对于大div的小div的位置。