Я пишу веб-сайт за допомогою jquery, який неодноразово дзвонить, $(window).width()
а $(window).height()
також розміщувати та розміщувати елементи залежно від розміру вікна перегляду.
Під час усунення несправностей я виявив, що я отримую дещо інші звіти про розмір вікна перегляду при повторних викликах вищевказаних функцій jquery, коли область перегляду не змінюється.
Цікаво, чи є якийсь особливий випадок, хтось знає, коли це відбувається, чи це просто так. Різниця у розмірах, про які повідомляється, становить 20 пікселів або менше, вона з'являється. Це трапляється в Safari 4.0.4, Firefox 3.6.2 та Chrome 5.0.342.7 beta на Mac OS X 10.6.2. Я ще не перевіряв інші веб-переглядачі, оскільки, здається, він не є специфічним для браузера. Я також не зміг зрозуміти, від чого залежить різниця, якщо це не розмір вікна перегляду, чи може бути ще один фактор, який робить результати різними?
Будь-яке розуміння буде вдячне.
оновлення:
Це не значення, $(window).width()
а $(window).height()
те, що змінюються. Це значення змінних, які я використовую для зберігання значень вище.
Значення змінних не змінюються на панелях прокрутки, не змінюються смуги прокрутки. Ось мій код для зберігання значень у моїх змінних (що я роблю лише для того, щоб вони були коротшими).
(все це всередині $(document).ready()
)
// спочатку оголошують змінні видимими для функцій otehr всередині .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()
значення залишаються послідовними, але мої змінні змінюються з причин , я не можу зрозуміти.
Я шукав місця, де мій код може змінювати значення відповідних змінних, на відміну від того, щоб просто отримати їх встановлені значення і не знайти їх. Я можу розмістити цілий шебанг кудись, якщо це можливо.