$(el).css('left')
と$(el).position().left
で取得する値は異なりますか?
私が$(el).css('left', '100px')
に行くと、$(el).css('left')
は_110px
_ではなく_100px
_を返します(そうです、それは常に10%多いです)そして$(el).position().left
、それは私に_100
_を与えます。
Chromeがこのように動作するのはなぜですか?left
プロパティを使用して、これがjQueryアニメーションにどのように影響するかを確認できます。
UbuntuではChrome 21.0.1180.57を使用しています。
編集1:Chromeにのみ影響を与えているようです、FF 14.0.1は私に同じ値を与えています。
left
は、CSSのleftプロパティの計算値を返します。
position().left
は、要素の最初のオフセット親を基準にしたx座標を返します。
これらの値は 等しくてもかまいません で、 等しくない でもかまいません。
position().left
は、レンダリングが異なるため、簡単に ブラウザ間で異なる になる場合がありますが、.css("left")
は、指定された単位でのみ異なる場合があります。
このコードを試してください:
$("#div")[0].style.left