jQuery .offset
メソッドで要素の位置を取得および設定する方法は?jQueryで位置を取得および設定する.offset()
divとすると、と別のlayer2
があります。の位置を取得して、同じ位置をlayer2
に設定するにはどうすればよいですか?
jQuery .offset
メソッドで要素の位置を取得および設定する方法は?jQueryで位置を取得および設定する.offset()
divとすると、と別のlayer2
があります。の位置を取得して、同じ位置をlayer2
に設定するにはどうすればよいですか?
//Get
var p = $("#elementId");
var offset = p.offset();
//set
$("#secondElementId").offset({ top: offset.top, left: offset.left});
ニースとクリア/クリーンな答え。 – sabiland
'offset'オブジェクト全体を渡すことができるので、' // set'は次のようになります: '$("#secondElementId ")。offset(offset)' – mecampbellsoup
ちょっと! divの右下にどのように設定できますか?オフセットの底、右のプロパティはありません – JerryGoyal
それはなんとかですが、あなたはoffset()
を使用すると、ドキュメントに要素の相対的な位置を設定することを知っている必要があります:
$('.layer1').offset($('.layer2').offset());
私は別のオプションをお勧めします。 jQuery UIには、要素を相対的に配置できる新しい位置機能があります。詳細なドキュメントとデモは、http://jqueryui.com/demos/position/#option-offsetを参照してください。ここで
は、位置機能を使用して要素を配置する一つの方法です。ここで
var options = {
"my": "top left",
"at": "top left",
"of": ".layer1"
};
$(".layer2").position(options);
はオプションです。これはちょうどx座標です。
var div1Pos = $("#div1").offset();
var div1X = div1Pos.left;
$('#div2').css({left: div1X});
offset()。leftとcss.leftは同じものではなく、ページ構造によって同じ値を持っているかもしれません。 – Kalle
I + 1'd。それは私のためにちょうどうまくいくように思われ、それは本質的に85 +票を持っている下のunchosen答えと同じです。 –
私のために働いた。投稿していただきありがとうございます! –
var redBox = $(".post");
var greenBox = $(".post1");
var offset = redBox.offset();
$(".post1").css({'left': +offset.left});
$(".post1").html("Left :" +offset.left);
デニス、あなたもjQueryのウェブサイト上.offset()メソッドをチェックしましたか?また、以下のスティーブの答えを受け入れてみませんか? – Rafid
@Rafid彼女は基本的に戻って来なかった – jcollum
私は彼女のポイントを持つことはできますか? – ganders