Вы не можете сделать то, что вы хотите, слушая окно resize
событий.
Проверьте карты Google или читателя, попробуйте изменить размер окна по вертикали. Обратите внимание, что эти приложения демонстрируют одинаковое поведение.
Посмотрите внимательнее на свой CSS. Я считаю, что иногда CSS может делать некоторые очень удивительные вещи. Если вы разместите некоторые примеры HTML и CSS, которые являются типичными для вас, мы сможем разработать решение.
Если вы абсолютно не можете дождаться, пока пользователь закончит изменение размера окна, вы можете опросить document.scrollWidth
и document.scrollHeight
через короткий промежуток времени. Всякий раз, когда они меняются, вызывайте свой код изменения размера. Обратите внимание, что опрос этих свойств может быть довольно дорогостоящим. Я рекомендую против этого, но это решит проблему.
Если вы используете Internet Explorer, в зависимости от версии вам необходимо использовать document.documentElement.scrollWidth
или document.body.scrollWidth
(и аналогичный для scrollWidth
).
Firefox 3.6 будет поддерживать события для определения, когда document.scrollWidth
и document.scrollHeight
изменения, хотя, похоже, это будет нестандартным:
https://developer.mozilla.org/en/DOM/Detecting_document_width_and_height_changes
'Foo' не должны иметь круглые скобки. Обычно вам нужно передать ссылку на функцию, а не выполнить ее и передать результат, что происходит, когда вы включаете круглые скобки. Конечно, это может быть просто ошибка транскрипции ... и это не ответ на ваш вопрос, очевидно. – tvanfosson
Я не уверен, что понимаю, что означает u – Val
Когда вы выполняете функцию с помощью круглых скобок, вы вызываете функцию в этой точке. То, что вы хотите, это просто '$ (window) .resize (foo)' или '$ (window) .resize (function() {...}) ', который предоставляет ссылку на функцию, которая будет выполнена позже, до метода изменения размера. – tvanfosson