2012-04-02 17 views

答えて

3

これは、CSSプロパティleftのみを提供します。実際の座標を取得する場合は、getClientRectsを使用してください。

var rects = document.getElementById("#myDiv").getClientRects(); //This returns a set of rectangles representing the element 
var rect = rects[0]; //There is usually only 1 rectangle 
alert(rect.left); 

デバッグにはalertを使用しないでください。それはconsole.logのためです。 Firebugがインストールされている場合は、ChromeのコンソールまたはFirefoxで出力を確認できます。 alertは、特定のものをフォーマットするので間違っている可能性があります。それはまた、はるかに迷惑な使用しています。

+0

素晴らしい仕事。人生の節約! :) –

0

あなたがstyle.leftを設定したり、style属性にCSS leftプロパティを設定していないためです。

element.styleは、style属性に直接マップします。それは計算されたスタイルを与えるものではありません。

getComputedStyleを参照してください。 CSS leftプロパティの値とは対照的に、左の位置を表示する場合は、offsetLeftを参照してください。

1

あなたはCSSの値を設定し、インラインスタイル属性を使用しないためだと思います。 getComputedStyle()

+0

うわー、私はそれを聞いたことがなかった。かなりクール。 –