Есть кусочек кода который выкидывает системное сообщение при
каждом ресайзе окна браузера. Плюс, в начале кода я объявил функцию (screenSize) для считывания размеров окна, но пока что она не вызывается. А работает только функция message:
Код:
// JavaScript Document
function screenSize() {
var w, h; // Объявляем переменные, 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("succesfully resized :)");
}
когда же я пытаюсь в событии onresize вызватьобъявленную функцию screenSize, то тут уже не всё так гладко:
Код:
// JavaScript Document
function screenSize() {
var w, h; // Объявляем переменные, 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("succesfully resized :)");
document.write(
"Длина = " + screenSize().w + "px<br>" +
"Высота = " + screenSize().h + "px"
);
}
В результате много глюков:
– после ресайза окна в браузере выводится только первая строчка из двух: "Длина = " — второй не видно;
– при повторном ресайзе, значение "Длина = " +
screenSize().w не меняется;
– при первом ресайзе системное сообщение показывается, а при повторном — уже нет.
Из-за чего это? Вроде бы всё просто написано. Не вижу, где здесь может быть ошибка...