5

#target次の HTML ドキュメントのに対する のオフセットを特定し#aたい。つまり、 と の値を見つけxたいy

http://dl.dropbox.com/u/2792776/screenshots/2012-06-09_1814.png

jQuery は を持ってposition()いますが、オフセットの親に対する のオフセットを$("#target").position()返します。これは(ではない)#target#c#a

と同等の関数が必要ですが$.fn.position()、代わりに、直接のオフセットの親ではなく、ターゲットの「オフセットの祖先」に対する相対位置を返します。例えば:$("#target").positionRelativeTo("#a")

4

3 に答える 3

4

オフセットに基づいて計算できます。

var topoffset = $('#target').offset().top - $('#a').offset().top;
var leftoffset = $('#target').offset().left - $('#a').offset().left;
于 2012-06-09T22:24:56.970 に答える
0

.parentsUntil()を利用して、その方法で結合された位置を計算できます。

var x=0;
var y=0;
$('#target').add($('#target').parentsUntil($('#a').parent())).each(function(){
  x+=$(this).position().left;
  y+=$(this).position().top;
});
alert(x+':'+y);​

http://jsfiddle.net/rDzpy/

于 2012-06-09T22:31:05.343 に答える