0

私はここで非常に非論理的で奇妙な問題に直面しています。

別の CSS ファイルで幅、高さ、およびその他のプロパティを定義しました。ここで、実行時にこれらの値を操作して、アプリケーションを動的にします。

しかし、 を使用してこの値を取得するとjQuery、値から 1 つか 2 つ減算されます。

たとえば、 で定義されている要素の幅はCSS450px です。jQuery

$('.programeSectionBox').width();

449pxになります。これは、高さと余白のパラメーターでも発生しています。

ここで何が起こっているのか誰か教えてください。私structはこの問題にひどく悩まされています。


すべての返信に感謝します。outerWidth() ソリューションを確認しましたが、機能せず、同じ問題が発生します。

実際、Samsung Smart TV 用のアプリケーションを作成しています。960x540 と 1280x720 の 2 つの解像度を提供しています。960x540 の場合はすべて問題なく動作しますが、1280x720 になると前述の問題が発生します。

私のアプリケーションでは、2 つの解像度に対して 1 つの JavaScript ファイルと 2 つの異なる CSS ファイルを使用しています。アプリケーションは、どの TV 解像度で動作しているかを確認し、それぞれの CSS をロードします。JavaScript ファイルの値を動的に維持したいので、値をハードコードすることはできません。値をハードコードすると、明らかに 1 つの解像度で機能します。

したがって、他の解決策があれば、それは素晴らしいことです。

ありがとう

4

3 に答える 3

1

outerWidth を使用してみて、それが機能するかどうかを確認してください。

jQuery("#myElement").outerWidth();

外側の幅の詳細:

http://api.jquery.com/outerWidth/

于 2012-08-17T09:57:23.250 に答える
0

これは(幅/高さだけでなく)いくつかの計算値で発生しているため、ブラウザがズームされていると思います。あなたの場合、CSSで設定した値よりも低い値を取得しているように見えるため、おそらく1ステップズームアウトされています。

ここでこの例を試してください:http://jsfiddle.net/zsygt/

ブラウザのズームがデフォルト値(100%)にリセットされると、印刷されます448。しかし、Chromeで1ステップズームインすると、印刷され449ます。

于 2012-08-17T10:03:34.267 に答える
0

parseInt取得した値に使用するだけです。

その後、整数値を取得し、それに対して任意の操作を実行できます。

console.log(​parseInt('445px')​​);​

フィドル

于 2012-08-17T09:54:48.533 に答える