2011-01-12 4 views
4

Wie bekomme ich jQuery das $ ("# recentTrack") auszublenden, ersetzen Sie den Inhalt und dann wieder einblenden? Der aktuelle Code blendet sie aus und hält sie versteckt, anstatt es wieder ein Verblassen:jQuery Ein- und Ausblenden

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); 
+3

Wissen Sie, dass Sie einen Fehler in FadeIn ('langsam)' haben; ? Es sollte fadeIn ('langsam') sein; – AJJ

+1

'$ (" # recentTrack "). FadeOut ('langsam'). Html (x) .fadeIn ('langsam)';' Ist das nicht ein Fehler? – naiquevin

Antwort

6

Gerade $("#recentTrack").fadeOut('slow').html(x).fadeIn('slow)';

in ändern:

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

diese Weise können Sie für das Ereignis warten abzuschließen .

+0

Vielen Dank! Funktioniert jetzt perfekt. –

+0

@Te Riu Wenn eine Antwort Ihre Frage gelöst hat, können Sie [durch Klicken auf das leere Häkchen links neben der Antwort als akzeptabel markieren]. – lonesomeday