Обратный вызов jQuery fadeOut не срабатывает ... Я что-то не так делаю? - PullRequest
0 голосов
/ 21 мая 2011

вот код, который я использую, обратный вызов 'animate' в событии mouseenter работает, но обратный вызов при исчезновении не работает. Я что-то не так делаю?

$('#about-me .progress-bar .progress .notes li').live('mouseenter',function(){
    $(this).animate({
        top:25
    },function(){
        $(this).find('.caption').stop(true, true).fadeIn(200);
    });     
}).live('mouseleave',function(){
    $(this).find('.caption').stop(true, true).delay(400).fadeOut(400,function(){
        $(this).animate({
            top:40
        });         
    });
}); 

Ответы [ 2 ]

0 голосов
/ 21 мая 2011

Вы хотите оживить заголовок .cap, который только что исчез?Я подозреваю, что нет, но это то, что делает ваша функция.Попробуйте изменить:

$(this).animate({
            top:40
        }); 

на

$(this).parents('li').animate({
            top:40
        }); 

Я предполагаю, что здесь только один li над надписью здесь

0 голосов
/ 21 мая 2011

.fadeOut ([продолжительность], [обратный вызов])

обратный вызов: функция, которая вызывается после завершения анимации.

, как вы можете видеть,обратный вызов будет вызван, когда fadeOut будет завершен, что означает, что вы не можете видеть элемент, тогда как вы можете увидеть, работает ли animate в свойстве top или нет?возможно, вы должны использовать console.log("something") в функции обратного вызова, чтобы увидеть, достижима ли она.

...