2013-02-27 13 views
9

最初のdivは'#icon-selection-menu'バーです。アイドルポジションはアブソリュートtop:0pxleft:0pxです。それで、コンテンツ部門の左上隅に現れます。divをjavascriptで別のdivの先頭に配置するにはどうすればよいですか?

ディープ・コンテンツdivの子供たちには、実際には「.emoticon-button」のような他のdivがあります。彼らの位置は親の内部で相対的です。このようなボタンをクリックすると、最初のdivをボタンのすぐ上に配置し、ボタンの下端をボタンの上端に合わせて調整します。

にはどうすればトップを取得することができますし、$('#icon-selection-menu').top$('#icon-selection-menu').leftを設定する値を左?

+0

そのディスプレイの相対CSSプロパティを追加します。 – EnterJQ

+0

フィドルを教えてください –

答えて

18

jQuery は、ドキュメントに対する任意の要素の位置を取得するために.offset()を提供します。 #icon-selection-menuがすでに文書に相対配置されているので、あなたはこれを使用することができます。

var destination = $('.emoticon-button').offset(); 
$('#icon-selection-menu').css({top: destination.top, left: destination.left}); 

$('#icon-selection-menu')$('.emoticon-button')の左上隅に配置されます。

(1)質問で$を使用したためにjQueryが想定されていました。

+1

2行目は '$( '#icon-selection-menu')である可能性があります。 '$( '#icon-selection-menu').offset(destination);' –

+0

@ BobStein-VisiBoneはい! – bfavaretto

0

あなたは

$("#ID").live("click",function(){ 
    $('.emoticon-button').animate({left:left,right:right}); 
}); 
+0

ポジション()は親ボックス内で左上に戻ります。申し訳ありませんが、私には当てはまりません。ご指摘ありがとうございます。 – zuba

0

GET」.emoticonボタンを使って、上記のそれを配置することができますjqueryの下に

var position=$('#icon-selection-menu').position(); 
var left=position.left; 
var right=position.right 

とそのボタンのクリックでを使用して要素の位置を取得することができます'位置(左、上)。それを '#icon-selection-menu'に適用します。顔文字に合わせるために上下に調整があります。

+0

position()は親ボックス内で左上と左を返します。申し訳ありませんが私には当てはまりません。ご指摘ありがとうございます。 – zuba

5

あなたがoffsetTopとoffsetLeftを使用してdiv要素の上部と左の位置を取得することができます

例: `

$('#div-id').offset().top; 
$('#div-id').offset().left; 
+0

ありがとう、プラサット!私は投票しましたが、解決策としてマークされました。 – zuba

1

Javascriptが内蔵しており、言及@bfavaretto何のバージョン。それはJqueryバージョンより少し長いですが、Jqueryを使用しない私のような人はそれを必要とするかもしれません。

var iconselect = document.getElementById("icon-selection-menu"); 
var emoticonbtn = document.getElementById("emoticon-button"); 
var oTop = emoticonbtn.offsetTop; 
var oLeft = emoticonbtn.offsetLeft; 
iconselect.style.top = oTop; 
iconselect.style.left = oLeft; 
iconselect.style.position = "absolute"; 

もちろん、このシステムにpxなどのユニットを追加することはできます。私が上記のことは単なる例であり、クラスではなくIDを持つ2つの別々の要素のためのものであることに注意してください。コードの最初の2行は、コードによって異なります。要素iconselectが整列しようとしています。要素emoticonbtnは、iconselectを表示するために押すボタンです。コードの最も重要な部分を要約:

elementtomove.offsetTop; //distance from top of screen 
elementtomove.offsetLeft; //distance from left of screen 

ホープこれはjQueryのを使用したがらない人々を助け!

+0

[https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop) ) – IamGuest

+0

[offsetLeft](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft) – IamGuest

+0

conselect.style.top = oTop + "px"; iconselect.style.left = oLeft + "px"; それ以外の場合は機能せず、絶対プロパティのみが適用されます。 –

関連する問題