我正在制作一个拖放应用。我试图在移动项目之前将项目的起始位置设置为。
当应用程序启动时,我使用'$(document).ready()',然后遍历元素。但是,当触发此事件时,CSS中的左侧和顶部位置似乎尚未设置。这是我用来迭代的代码:
var t;
$('.puzzle_piece').each(function(){
t = $(this);
t.startX = t.position.left;
t.startY = t.position.top;
});
我尝试使用'position'和'.css('left')'来获取值。
我注意到的一件事是,当我在那里发出警报时,警报会在布局之前触发,甚至似乎在浏览器窗口中启动。
如何获得这些元素的起始位置?
答案 0 :(得分:3)
position()
是一个功能。使用:
t.startX = t.position().left;
t.startY = t.position().top;
答案 1 :(得分:2)
如果您希望它相对于文档,请使用.offset()
。这很可能是你需要的。
如果您希望它相对于偏移父项(位置为fixed
,relative
或absolute
的父元素),请使用.position()
。