0

ドラッグアンドドロップアプリを構築しています。アイテムを移動する前にドラッグするアイテムの開始位置を取得しようとしています。

アプリが起動すると、「$(document).ready()」を使用し、要素を反復処理します。ただし、このイベントがトリガーされたとき、CSS の左と上の位置はまだ設定されていないようです。繰り返しに使用しているコードは次のとおりです。

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

'position' と '.css('left')' を使用して値を取得しようとしました。

私が気づいたことの 1 つは、そこにアラートを配置すると、ブラウザー ウィンドウでレイアウトが開始される前にアラートがトリガーされることです。

これらの要素の開始位置を取得するにはどうすればよいですか?

4

2 に答える 2

3

position()関数です。使用する:

t.startX = t.position().left;
t.startY = t.position().top;
于 2013-05-22T07:01:27.523 に答える
2

ドキュメントに対して相対的に表示する場合は、 を使用します.offset()。ほとんどの場合、これが必要なものです。

fixedオフセットの親 ( 、relative、またはの位置にある親要素) を基準にしたい場合はabsolute、 を使用します.position()

于 2013-05-22T07:01:39.423 に答える