Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2011, 18:42
Интересующийся
Отправить личное сообщение для maximu$$ Посмотреть профиль Найти все сообщения от maximu$$
 
Регистрация: 03.05.2011
Сообщений: 12

дождаться выполнения toggle
привет!
возникла такая проблема:
при клике на элементе выполняется следующее:
$(this).parent().toggleClass('active').children('div').toggle('slow');
scroll1();

так вот функция scroll1 (а там происходит замер высоты\ширины изменившихся после toggle элементов) выполняется до того, как завершится toggle.
как сделать, чтобы scroll1 выполнялась после завершения работы toggle?
p.s. эффект анимации 'slow' важен!
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2011, 18:44
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Попробуйте так:
$(this).parent().toggleClass('active').children('div').toggle('slow', scroll1);
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 03.05.2011, 18:50
Интересующийся
Отправить личное сообщение для maximu$$ Посмотреть профиль Найти все сообщения от maximu$$
 
Регистрация: 03.05.2011
Сообщений: 12

пробовал.
т.к. дочерних элементов (children('div')) множество, то в данном случае scroll1 выполняется несколько раз.
не подходит...
Ответить с цитированием
  #4 (permalink)  
Старый 03.05.2011, 18:56
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

setTimeout(scroll1, 200);
Ответить с цитированием
  #5 (permalink)  
Старый 03.05.2011, 19:12
Интересующийся
Отправить личное сообщение для maximu$$ Посмотреть профиль Найти все сообщения от maximu$$
 
Регистрация: 03.05.2011
Сообщений: 12

отлично! помогло!
p.s.: только 600 нужно (т.к. slow = 600)
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2011, 12:02
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

А почему бы эту функцию не установить как коллбек?
$(this).parent().toggleClass('active').children('div').toggle('slow', scroll1)

Тогда она запустится как только анимация закончится, а не примерно в то же время.
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2011, 13:14
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от subzey
А почему бы эту функцию не установить как коллбек?
Сообщение от maximu$$
пробовал.
т.к. дочерних элементов (children('div')) множество, то в данном случае scroll1 выполняется несколько раз.
не подходит...
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #8 (permalink)  
Старый 04.05.2011, 14:58
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Прошу прощения. Невнимателен
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дождаться выполнение запроса. psyhonut jQuery 6 12.09.2010 12:25
Взаимодействие со скриптом на протяжении его выполнения Malgin AJAX и COMET 6 23.08.2010 22:39
Google Chrome перерисовка страницы во время выполнения скрипта Dekart Javascript под браузер 0 08.06.2010 08:35
Как дождаться полного выполнения функции? San4ezy Events/DOM/Window 13 15.11.2009 19:41
разное время выполнения операции ropowek Events/DOM/Window 2 08.10.2008 13:27