2009-09-01 21 views
0

私はHTMLページにグループDIVタグを持っていますが、その場所はいくつかの親/祖父母DIVによって制御されています。これらの親と祖父母の所在地は、CSSクラスによって制御されます。私は、指定されたDIVのトップアトリビュートを取得する必要があります。 DOM内のどこにあるのですか、JavaScriptを使ってどのように計算しますか?Javascriptを使用してDIV要素の上位(ロケールで)属性を取得する方法は?


説明:DIVオブジェクトの上部の座標値は、絶対的な意味で(ウィンドウに対して)必要です。

+0

Dup:http://stackoverflow.com/questions/610188/detecting-the-position-of-a-div –

+0

これは重複しています。私も閉会することにしました。他の人が検索で別の質問を見つけられないかもしれないので、私はそれを削除しませんでした(別に私が持っていたのと同じ問題)。 – dacracot

答えて

0

これはあなたにトップを与えると左になります。

myDiv.offsetY 
myDiv.offsetX 
+0

いいえ、そうではありません。あなたは 'offsetLeft' /' offsetRight'を意味しましたか? –

+0

offsetYとoffsetXはどちらも未定義です。 – dacracot

+0

@crescentfresh ... offsetLeftは絶対値ではなく(私が必要な)相対値で、offsetRightは未定義です。 – dacracot

1

offsetTop以来とoffsetLeftはあなたの相対位置の値を与え、あなたはoffsetTopoffsetLeftを、offsetParent秒のツリーをトラバース集約して絶対値を得ることができます各親要素の値:

function findPos(obj) { 
    var curleft = curtop = 0; 
    if (obj.offsetParent) { 
    do { 
     curleft += obj.offsetLeft; 
     curtop += obj.offsetTop; 
    } while (obj = obj.offsetParent); 
    return [curleft,curtop]; 
    } 
} 

より詳細な情報:JavaScript Find position

+0

私もこれを見つけました。それは私が必要とするほとんどです。スクロールを考慮する方法はありますか?ウィンドウのスクロール(window.scrollY)だけでなく、スクロール:DIVの自動属性ですか? – dacracot

関連する問題