ビューポートのサイズに基づいて要素を配置およびサイズ$(window).width()
変更するために繰り返し呼び出す jquery を使用してサイトを作成しています。$(window).height()
トラブルシューティングで、ビューポートのサイズが変更されていない場合に、上記の jquery 関数を繰り返し呼び出すと、ビューポート サイズのレポートがわずかに異なることがわかりました。
これがいつ発生するかを誰もが知っている特別なケースがあるかどうか、またはこれがまさにその通りであるかどうか疑問に思っています。報告されているサイズの違いは 20px 以下であることがわかります。これは、Mac OS X 10.6.2 上の Safari 4.0.4、Firefox 3.6.2、および Chrome 5.0.342.7 ベータ版で発生します。ブラウザに固有のものではないように見えるため、他のブラウザはまだテストしていません。ビューポートのサイズではない場合、結果が異なる別の要因があるのでしょうか?
任意の洞察をいただければ幸いです。
アップデート:
変化しているのは$(window).width()
との値ではありません。$(window).height()
上記の値を格納するために使用している変数の値です。
値に影響を与えるのはスクロールバーではなく、変数の値が変化してもスクロールバーは表示されません。値を変数に格納するコードを次に示します (変数を短くするためだけに行っています)。
(これはすべて 内にあります$(document).ready()
)
//最初に変数を他の関数から見えるように宣言する.ready()
var windowWidth = $(window).width(); //retrieve current window width
var windowHeight = $(window).height(); //retrieve current window height
var documentWidth = $(document).width(); //retrieve current document width
var documentHeight = $(document).height(); //retrieve current document height
var vScrollPosition = $(document).scrollTop(); //retrieve the document scroll ToP position
var hScrollPosition = $(document).scrollLeft(); //retrieve the document scroll Left position
function onm_window_parameters(){ //called on viewer reload, screen resize or scroll
windowWidth = $(window).width(); //retrieve current window width
windowHeight = $(window).height(); //retrieve current window height
documentWidth = $(document).width(); //retrieve current document width
documentHeight = $(document).height(); //retrieve current document height
vScrollPosition = $(document).scrollTop(); //retrieve the document scroll ToP position
hScrollPosition = $(document).scrollLeft(); //retrieve the document scroll Left position
}; //end function onm_window_parameters()
上記の変数を、それらが保持しているはずの値に対してプローブするアラート ステートメントを挿入しました。$(item).param()
値は一貫していますが、変数は理由がわかりません。
設定値を取得して何も見つからないのではなく、コードが問題の変数の値を変更している可能性のある場所を探しました。可能であれば、シバン全体をどこかに投稿できます。