Программирование > 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 от размеров окна.
Это все понятно. Хотелось бы понять, почему алерт несколько раз выскакивает. Кстати
в Опере тоже выскакивает несоклько алертов.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии