jQuery постепенное появление и исчезновение

Как заставить jQuery исчезать $("#recentTrack"), заменять его содержимое, а затем снова отображать? Текущий код затухает и скрывает его, а не снова затухает:

    setInterval(
    function ()
    {
            $.getJSON('cache/lastfmCache.json', function(data){
            var x = data.recenttracks.track[0].artist["#text"];
            var y = $("#recentTrack").html();
            if(x != y) {
                $("#recentTrack").fadeOut('slow').html(x).fadeIn('slow)';
             }      
        $.get('update.php');    
    });
    }, 15000);

person Te Riu Adams-Smith-Warren    schedule 12.01.2011    source источник
comment
Знаете ли вы, что у вас есть ошибка в fadeIn('slow)'; ? Это должно быть fadeIn('slow');   -  person AJJ    schedule 12.01.2011
comment
$("#recentTrack").fadeOut('slow').html(x).fadeIn('slow)'; разве это не выдает вам ошибку?   -  person naiquevin    schedule 12.01.2011


Ответы (1)


Просто измените $("#recentTrack").fadeOut('slow').html(x).fadeIn('slow)';

в:

$("#recentTrack").fadeOut('slow', function(){
  $(this).html(x).fadeIn("slow");
});

Таким образом, вы ждете завершения события.

person Mass.im    schedule 12.01.2011
comment
Большое спасибо! Теперь работает отлично. - person Te Riu Adams-Smith-Warren; 12.01.2011
comment
@Te Riu Если ответ разрешил ваш вопрос, вы можете [отметить его как принятый], щелкнув пустую галочку слева от ответа. - person lonesomeday; 12.01.2011