JQuery поймать, когда анимация закончена - PullRequest
1 голос
/ 08 сентября 2010

Я использую плагин цвета (ссылка на кеш Google, jquery.com в настоящее время отключена) для обработки анимации цвета фона.

$(".navigation a").hover(
    function(){
        $(this).stop().animate({backgroundColor: black});
    },
    function(){
        $(this).stop().animate({backgroundColor: green});
        $(this).hide();
    }
);

Необходимо скрыть текущую ссылкукогда анимация закончена. Теперь она прячется сразу, на mouseout().

Какое решение?

Ответы [ 2 ]

5 голосов
/ 08 сентября 2010

Вам нужно поместить .hide() в функцию обратного вызова вызова .animate().

$(this).stop().animate(
    {backgroundColor: green},
    function() {
        $(this).hide();
    }
);
2 голосов
/ 08 сентября 2010

Если задать .hide() длительность, она будет добавлена ​​в очередь анимации.

Так что вы можете сделать это:

$(this).stop().animate({backgroundColor: green}).hide( 0 );
...