Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Веб-программирование > DHTML, JavaScript, VBScript
Перезагрузить страницу Отслеживание изменение окна window.onresize в MsIE
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию Отслеживание изменение окна window.onresize в MsIE - 03.10.2002, 13:46

Приветствую всех!

Интересная задачка.
Имеем DOM MsIE, JScript.

В связи с тем, что мне необходимо отслеживать изменения размеров окон (в качестве отступления: из-за абсолютного позиционирования элементов их приходиться ПЕРЕпозиционировать всякий раз).

Естественно, это решается просто: определяем обработчик события window.onresize (почему именно его - см. ниже). Но проблема в том, что событие это (почему-то!) приходит два раза подряд. Поэтому вместо нормальной обработки приходиться писать что-нибудь вроде:

Код:
function window_resize()
{
    // выполнять каждый второй раз!
    // почему? - хороший вопрос... я так понимаю, что два раза, т.к. существует начало и конец resize
    // но определить это не удалось...
    window_resize_flag = window_resize_flag ? false: true;
    if (window_resize_flag)
  return;
    // переразместить элементы
    place_elements();
    
    event.cancelBubble = true;
    event.returnValue = false;
}
Интересно, в чем секрет? Вероятно, это связано с тем, что событий на самом деле два - start и end?

P.S. window.onresizestart() и window.onresizeend() вызываться отказываются. Почему - тоже не совсем понятно.
P.P.S. Идея со "всплытием" события также отметается - см. код.
Ответить с цитированием
  (#2 (permalink)) Старый
Violet Violet вне форума
Member
 
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.04.2004
По умолчанию 23.04.2005, 03:19

Присоединяюсь к вопросу
Может, сейчас кто знает, как с этим бороться?
Ответить с цитированием
  (#3 (permalink)) Старый
buzi buzi вне форума
Member
 
Сообщений: 367
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2004
По умолчанию 28.04.2005, 12:10

MSDN: onresize, onresizestart, onresizeend
Ответить с цитированием
  (#4 (permalink)) Старый
Violet Violet вне форума
Member
 
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.04.2004
По умолчанию 28.04.2005, 14:29

Методом научного тыка было установлено, что событие onresize адекватно работает для iframe
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение шрифта в заголовке главного окна vlad1 C++ Builder 0 06.04.2011 21:50
Изменение размеров окна вида sag1979 Visual C++ 2 24.04.2008 14:29
Изменение размера окна в frame gip Visual C++ 0 12.06.2007 18:52
Перерисовка окна отслеживание движения мышки ProTeuS Delphi 0 23.07.2006 06:51
Изменение размера окна _newbie_ Visual C++ 7 06.06.2006 13:53
Форматиование нового окна window.open KsSl DHTML, JavaScript, VBScript 5 21.03.2006 16:09
Изменение размера окна Kosta Visual C++ 3 12.03.2006 11:58
Отключить изменение размера окна kenon WinAPI 2 22.09.2004 19:43
Изменение размера диалогового окна Olga_Bro Visual C++ 0 14.04.2004 13:20
Изменение размеров окна до предела GEV_256 Delphi 4 21.08.2003 15:41
Always TOP window открытие окна imported_Дмитрий DHTML, JavaScript, VBScript 0 22.11.2002 15:42
Как самостоятельно открыть окно Window -> New Window Anonymous Visual C++ 5 11.11.2002 18:59



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов