Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   jquery анимация и редирект после (https://javascript.ru/forum/events/28344-jquery-animaciya-i-redirekt-posle.html)

SunYang 16.05.2012 10:59

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

вроде как должен сначала исчезнуть элемент #adposter через 2,5 сек, а потом редирект, но редирект выполняется сразу.
Почему он не дает закончиться анимации?

tadjik1 16.05.2012 12:31

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


$("#adposter").delay(2500).fadeOut("slow", function() { window.location = 'url' });

melky 16.05.2012 12:33

потому что анимация - асинхронное действие
делайте редирект не после старта анимации, а после её завершения :
$element.fadeOut("slow", function(){  
  location.href = url;
});

tadjik1 16.05.2012 12:34

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

$("#adposter").fadeOut(2500, function() { window.location = 'url' });

melky 16.05.2012 12:36

Цитата:

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

Цитата:

Сообщение от SunYang (Сообщение 174724)
вроде как должен сначала исчезнуть элемент #adposter через 2,5 сек,

исчезнуть через 2.5сек
fadeOut через 2.5сек

нет?

tadjik1 17.05.2012 12:10

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


Часовой пояс GMT +3, время: 07:57.