使用jQuery获取div起始位置

时间:2013-05-22 06:59:41

标签: jquery

我正在制作一个拖放应用。我试图在移动项目之前将项目的起始位置设置为。

当应用程序启动时,我使用'$(document).ready()',然后遍历元素。但是,当触发此事件时,CSS中的左侧和顶部位置似乎尚未设置。这是我用来迭代的代码:

var t;
$('.puzzle_piece').each(function(){
    t = $(this);
    t.startX = t.position.left;
    t.startY = t.position.top;
});

我尝试使用'position'和'.css('left')'来获取值。

我注意到的一件事是,当我在那里发出警报时,警报会在布局之前触发,甚至似乎在浏览器窗口中启动。

如何获得这些元素的起始位置?

2 个答案:

答案 0 :(得分:3)

position()是一个功能。使用:

t.startX = t.position().left;
t.startY = t.position().top;

答案 1 :(得分:2)

如果您希望它相对于文档,请使用.offset()。这很可能是你需要的。

如果您希望它相对于偏移父项(位置为fixedrelativeabsolute的父元素),请使用.position()