Программирование > JavaScript & JScript
Что происходит во время события OnResize?
(1/1)
4m@t!c:
Почему нижеприведенный скрипт при изменении размеров окна броузера вызывает окно сообшения несколько раз?. Вообщем, интересует механизм обработчика события onResize? Или где глуполсть в самом скрипте.. сокрее всего глупость, но ге глупость - не могу понять...
<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE>
<script language="javascript">
var last = 0;
function Resize_f()
{
var t;
if(last == 0)
{
last = document.body.clientWidth;
}
alert(\'last: \' + last);
alert(\'Current: \' + document.body.clientWidth);
t = document.getElementById("text1");
if(last != document.body.clientWidth)
{
if(last > document.body.clientWidth)
{
if(t.size > 1)
t.size--;
}
else
{
t.size++;
}
last = document.body.clientWidth;
}
}
</SCRIPT>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY onResize="Resize_f();">
<FORM action="1.htm" method="post">
<INPUT id="text1" type="text" value="1" size="50" maxlength="50">
</FORM>
</BODY>
</HTML>
alm:
--- Цитировать ---Почему нижеприведенный скрипт при изменении размеров окна броузера вызывает окно сообшения несколько раз?
--- Конец цитаты ---
Это фича IE. Например в Мозиле вызывается один раз.
Со скриптом никаких проблем не заметил. Разве что размер лучше менять не через size, а через style.width, предварительно его вычислив из ширины body.
4m@t!c:
Пример не мой, а вопрос был с другого форума, понятно, что нужно, что бы изменение
размеров INPUT зависило от размеров окна, а не скорости изменения размеров
окна (что бы понять, о чем я говорю - попробуй потянуть окно медленно, и обратить
внимание на изменение размера INPUT`a, а затем потянуть окно очень быстро.). Для
этого тебе нужно найти зависимость изменения размеров INPUT`a от размеров окна.
Это все понятно. Хотелось бы понять, почему алерт несколько раз выскакивает. Кстати
в Опере тоже выскакивает несоклько алертов.
Навигация
Перейти к полной версии