2011-01-10 18 views
11

このコードは、FFではなく、IEで動作します。それは0PXを返しFFでのjQuery:整数形式で要素のピクセル位置を取得

parseInt($('.scroller').css('left'); 

IEでは、NaNを返します。

要素のピクセル位置を取得するにはどうすればよいですか?

+0

可能な複製http://stackoverflow.com/questions/1100503/how-to-get-just-numeric-part-of-css-property-with-jquery – qbolec

答えて

23
<div class="holder"> 
    <div class="scroller"> 
    </div> 
</div> 

使用offset

$('.scroller').offset().left; 

offset()画素内の文書に対する相対位置値である特性lefttopを含むオブジェクトを返します。

親要素に相対的な位置を使用する場合は、代わりにpositionを使用してください。

+0

'position'メソッドは私が必要としていたもので、ありがとう! – kylex

+3

offset()もposition()も目的の値を持たないケースがあるようです。私は比較的配置された要素を持ち、私の場合offset()とposition()は両方とも同じ値を返し、$( 'element').css( 'left')とは異なります。それは私が必要としている左翼の価値です。今のところ私はparseInt($( '。element').css( 'left')。replace( 'px'、 ''))を使用しています。私はIEがkylexの試みを突き詰めたのは、終わりに「px」があるという理由だと思う。それを取り除くことは、IEでうまくいくようです。この場合、誰かがこれを行うより良い方法を知っていますか? –

0

しかし、常にドキュメントとの相対的な関係になるため、position()(親、つまりホルダーを基準にして)はときどき正確で、場合によってはまったく正確ではありません。

関連する問題