2011-01-07 12 views
7

jQuerysのオフセット関数は、上または左に有理数(12.645613など)を返すことがあります。私は上の位置と左の位置がピクセルであると思ったので、整数でなければなりません(ハーフピクセル、または?がありません)。jQueryの非整数オフセット位置

+1

本当に?あなたは例を見せてもらえますか? – SLaks

+0

そして、そのような数値を返す関数は何ですか? –

+0

http://www.dotnetoutsource.com/Download/jQuery_FixedTable/jQuery_FixedTable_Demo.htmにアクセスし、 '$("。fixedColumn ")。eq(0).offset()。top'がFirefoxの182.5833282470703になる – Zardoz

答えて

5

上下の位置は、単位cm、mm、in、pt、pc、em、exまたはpx、またはパーセンテージのいずれかを持つ浮動小数点数です。

例:それは非常によく浮動小数点数とすることができるように

.someElement { top: 42%; left: 3.14in; } 

offset関数は、ピクセルに翻訳位置を返します。値は丸められません。

例では、親の高さが32ピクセルである場合、要素のtopの値は32 * 0.42 = 13.44ピクセルになります。

+0

これは私の場合jQueryのバグのような私のケースでは、オフセットについてのドキュメントは言う: "現在の座標を取得"と言う。あなたが描いていることは、どこにあるべきであり、現在のところではないのです。 – Zardoz

+1

@Zardoz:それはあなたの見方によります。要素が「ある」場合、ブラウザがそれを表示することを選択する必要は必ずしもない。すなわち、座標は浮動小数点であるが、通常は偶数ピクセルで表示される。ほとんどのブラウザは、座標系とスクリーンピクセルの間に1対1の関係を持っていますが、たとえばiphone 4は1:2の関係にあるため、要素を実際に半ピクセルに配置できます。 – Guffa

-1

これは古い質問ですが、私は後世のためにここに回答を投稿できると思います。

h1タグとh3タグに浮動小数点のマージンがあることが問題であることが判明しました(Firebugに感謝します)。たとえば、Firefoxはデフォルトで<H1>0.67em 0というマージンを与えます。

<H1><H3>タグを削除すると、$(".fixedColumn").eq(0).offset().topは整数を返します。これらのタグのマージンを指定するだけで、問題を修正する必要があります。

関連する問題