Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2012, 10:59
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

jquery анимация и редирект после
День добрый.
Почему-то редирект после анимации перекрывает всю анимацию.
вот здесь:
cat = 2;
url = "/?cat="+cat;
clearform();
$("#adposter").delay(2500).fadeOut("slow")
$(location).attr('href',url);

вроде как должен сначала исчезнуть элемент #adposter через 2,5 сек, а потом редирект, но редирект выполняется сразу.
Почему он не дает закончиться анимации?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2012, 12:31
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

вам надо дождаться окончания анимации. где-то уже тема поднималась, решение очень простое — редирект в коллбеке fadeOut:


$("#adposter").delay(2500).fadeOut("slow", function() { window.location = 'url' });
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2012, 12:33
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

потому что анимация - асинхронное действие
делайте редирект не после старта анимации, а после её завершения :
$element.fadeOut("slow", function(){  
  location.href = url;
});
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2012, 12:34
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

еще одно — delay() не так работает, исправьте на:

$("#adposter").fadeOut(2500, function() { window.location = 'url' });
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2012, 12:36
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от tadjik1 Посмотреть сообщение
еще одно — delay() не так работает, исправьте на:
Сообщение от SunYang Посмотреть сообщение
вроде как должен сначала исчезнуть элемент #adposter через 2,5 сек,
исчезнуть через 2.5сек
fadeOut через 2.5сек

нет?
Ответить с цитированием
  #6 (permalink)  
Старый 17.05.2012, 12:10
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

ой, невнимательно прочел, вы правы, спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery, анимация для нескольких элементов сразу, возможно ли? Logo jQuery 21 29.05.2012 21:50
JQuery анимация 3ukk jQuery 9 07.12.2011 19:06
Задержка после присвоения класса в jQuery surzhikov jQuery 1 05.10.2011 03:29
jquery не срабатывает find после ajax versoul jQuery 7 09.09.2011 16:20
Не работает jQuery анимация в Firefox makingpretty Events/DOM/Window 1 22.06.2011 00:05