2011-01-06 5 views
5

私はjQueryの初心者です。誰かがこれに答えてくれますか?jQuery。オフセット設定y値

次のコード行でlayer1をlayer2の位置に設定します。

$("#layer1").offset($("#layer2").offset()); 

y値を設定するにはどうすればよいですか?そのことはよくわからない。

おかげ

答えて

0

だけ使用/設定CSSプロパティトップ

$("#layer1").css("top",$("#layer2").css("top")); 
0
$("#layer1").css({ 
    'top': $("#layer2").offset().top 
}); 

EDIT .top/.LEFTセッターであるように思われます。
EDITv2オフセットは設定できますが、.offset()メソッドで行う必要があります。

7

.offest()ためのjQueryのドキュメントの読み取り:

.offset()は上部と左プロパティを含むオブジェクトを返します。これを知っ

は、次のことを実行できます。

var offset = $("#layer2").offset(); 
$("#layer1").css({ 
    'top' : offset.top, 
    'left': offset.left 
}); 

それとも、あなたはあなたの要件ごとに、個別に設定することができます。

$("#layer1").css('top', offset.top); // or... 
$("#layer1").css('left', offset.left); 

最後に、単一の値(上端)が必要なだけなので、オフセットは過剰です。それはあなたが必要とするよりも高価です。代わりに、次の最適化スニペットを使用します。 http://api.jquery.com/offset/

$("p:last").offset({ top: 10, left: 30 }); 

によれば

0
var top = $('#layer2').css('top'); 
$('#layer1').css('top', top); 

を使用することができます。そういうわけで、あなたが望みたくないものだけを取り除くことができるはずです。

0

使用offset.topとoffset.left - これらは、xとyの..ですオフセット()自体での情報のため

+0

おかげで、xとyの両方を返します(または上を、左)! – Denise

+0

混乱のため、** top **は** Y **で** ** left **は** X **です。あなたはそれぞれ言及していない、単に明快さを追加したい。 –

関連する問題