0

我在大 div 中有 2 个 div,小 div(可拖动)

我需要从大 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/

4

3 回答 3

1

演示

$(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);
    });
});
于 2013-08-06T06:11:03.700 回答
0
$('#small').offset().top

您是否尝试使用 offset ?

于 2013-08-06T05:47:23.057 回答
0

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

抵消()

这始终与文档相关。

位置()

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

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

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

CSS 代码

#big { position : relative; }

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

于 2013-08-06T05:47:58.077 回答