![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
just_sage |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Всем доброго времени суток.
Повстречался с проблемой, на которую не хватает знаний, чтобы решить. В принципе, ситуация простая, а результат - не очень простой. Суть: в функции-обработчике событий, инструкции выполняются не по порядку (или что-то в этом роде). Столкнулся с этим делом, при работе с ThickBox-ом. Нужно сначала показать модальное окошко с затемнением всей остальной области экрана. Потом, по клику, сначала убрать затемнение(ф-ия tb_remove()), а затем выполнить некотрые действия. В результате получается так, что затемение исчезает только после отработки всей функции-обработчика, т.е. в сааааааамом конце, даже если tb_remove() стоит первой линией в обработчике. В tb_remove() вроде ничего такого долгоиграющего нет. Наваял тестовую страничку, чтобы было еще понятнее: http://web-panda.ru/tb_test/ JS-код тестовой странички:
Код функции tb_remove():
Может это уже вполне известное поведение. Что-то не могу ничего поиском найти. Спасибо за внимание. Подскажите пожалуйста кто что может ![]() |
||||
|
|||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 2 Всего: 16 |
потому что эффекты (в частности fadeOut) основаны на setTimeout, поэтому для них callback задается. Может и можно их без него запустить, но вряд ли это нужно. А в javascript в пределах фрейма функции параллельно не выполняются. И получается, что как только начинаются вычисления, они не дают продолжаться fadeOut. А что за вычисления, кстати?
p.s. Очерёдность событий и синхронизация в JavaScript - хорошая статья, в общем-то связанная с темой |
|||
|
||||
just_sage |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
youri, спасибо за посыл в верном направлении
![]() ![]() В качестве решения немного подправил код thickbox.js:
заменил на
Теперь все работает как надо. Может кому пригодится. Да так, там через ajax запрос к БД. Это сообщение отредактировал(а) just_sage - 17.8.2009, 10:38 |
||||
|
|||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |