2012-04-02 4 views
3

私は相対的である必要があり、このdiv、および%でトップを持っている: CSSでパーセントで設定されている場合、divのトップ値をピクセルで取得するにはどうすればよいですか?

#adiv { 
    position: relative; 
    top: 50%; 
    margin-top: 0px; 
    height:200px; 
    background-color:black; 
} 

が、今私はピクセル単位で top:50%の価値を見つけたいです。私はこれを行う場合:Safariはちょうど 50を出力しながら、

alert("TopHeightInPixels:"+(parseInt($("div#adiv").css("top")))); 

Firefoxは、実際のピクセル(100px)を出力します。私が知っている、なぜサファリないこと(私のコードと、それだけのストライプ私50%、私は推測するの%)が、どのように私は右のそれを行うと私がしなければ、この使用してくださいjQueryの:?

alert("TopHeightInPixels:"+(parseInt($("div#adiv").offset().top))); 

または

alert("TopHeightInPixels:"+(parseInt($("div#adiv").position().top))); 

私は0の値を得ます。それで私はそれを正しい方法で行いますか?前もって感謝します! Here'sフィドル。

+0

あなたは(+ $( "のdiv#のADIV")がオフセット()。 "TopHeightInPixelsを")はconsole.log'のあなたの結果を投稿することができますしてみてください: "+ $(" div#adiv ")。length)'? – Gottox

+0

FFで私は得る:TopHeightInPixels:[オブジェクトオブジェクト]とTopHeightInPixels:1 – suri

答えて

1

はこの質問への回答を参照してください:Detecting the position of a div

のdivのトップがそのy座標普通です。ボックスモデルがdivの原点のオフセットを許しているかどうかわからないけど、確かにそうではないと確信しています。

+0

こんにちはマイケル、速い答えのためのthx、しかし、そのオフセットdoesntは私が上記のように動作していないようです:...-( – suri

+0

@あなたが上のオフセットを供給したフィーリンのsuriは0です...ちょっとしたCSS modでこのフィドルをチェックしてください。http://jsfiddle.net/vfLKj/ – lnrbob

+0

ええ、あなたはGoogleに言及したそのリンクで他の答えを試しましたか?コード? –

1

topアトリビュートは、親に対して相対的な位置を設定しますが、パーセンテージを使用するには親の高さが必要です。

jsFiddleを参照してください。 `と`はconsole.log( "TopHeightInPixels:

0

この

$('#adiv').offset().top