Определить размер окна при ресайзе.
Есть кусочек кода, который выкидывает системное сообщение при каждом ресайзе окна браузера. Плюс, в начале кода я объявил функцию (screenSize) для считывания размеров окна, но пока что она не вызывается. А работает только функция message:
function screenSize() { var w, h; w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth)); h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight)); return {w:w, h:h}; } window.onresize = message; function message() { alert("successfully resized"); } когда же я пытаюсь в событии onresize вызватьобъявленную функцию screenSize, то тут уже не всё так гладко: function screenSize() { var w, h; w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth)); h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight)); return {w:w, h:h}; } window.onresize = message; function message() { alert("successfully resized"); document.write( "Длина = " + screenSize().w + "px<br>" + "Высота = " + screenSize().h + "px" ); } В результате много глюков: – после ресайза окна в браузере выводится только первая строчка из двух, со значением длины: "Длина = " — второй не видно; – при повторном ресайзе, значение "Длина = " + screenSize().w не меняется; – при первом ресайзе системное сообщение показывается, а при повторных — уже нет. Из-за чего это? Вроде бы всё просто написано. Не вижу, где здесь может быть ошибка… |
|
хм, а ошибка только в выводе на экран? (document.write)
Если так, то для меня это не принципиально. document.write я использовал чисто для проверки работы функции screenSize. Просто нужно было знать срабатывает событие или нет? Если срабатывает, то я буду передавать переменные высоты и ширины экрана во флеш. И на этом всё. P.S. Может, есть более простые способы проверки? |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 10:17. |