2009-12-15 11 views
48

Ich habe diesen Code:jquery prepend + fadeIn

$.ajax({ 
     url : url, 
     data : {ids : JSON.stringify(jsonids), hotel_id: hotel_id}, 
     success : function(response) 
     { 
      $('#be-images ul').prepend(response).fadeIn('slow'); 
     }, 
     dataType: 'html' 
    }); 

aber die Fade-In funktioniert nicht ... Ich möchte, dass die Inhalte in vorangestellt und verblasste werden ... wie soll ich das tun?

Vielen Dank im Voraus!

Antwort

105

Unter der Annahme, response wird HTML dann versuchen, diese:

$(response).hide().prependTo("#be-images ul").fadeIn("slow"); 

Wenn Sie es auf diese Weise tun:

$('#be-images ul').prepend(response).fadeIn('slow'); 

das, was Sie Verblassen tatsächlich in das Ergebnis des anfänglichen Wähler (die Liste auf der Vorderseite), die bereits sichtbar ist.

+0

funktionierend! Vielen Dank! – yretuta

+0

beide cletus und nick, deine wege sind genial .. ich stolperte über das gleiche problem und beide arbeiten wie eine brise ... danke ... – coder101

+0

funktioniert wie ein charme ... –

37

+1 zu Cletus, aber ich wollte nur den anderen Weg markieren, wie Sie es tun könnten.

$('#be-images ul').prepend(
    $(response).hide().fadeIn('slow') 
); 
+5

+1 interessant. Ich habe es noch nie so gesehen. – cletus

+0

das funktioniert gut, weil es nicht das Element vor dem zu verbergen, nur das Element vorgeht –

1

Versuchen Sie folgendes: HTML

<button>Add</button> 
<div id="data"></div> 

JQuery:

$('button').click(function() { 
    $('#data').prepend('<div class="item">Test</div>'"'); 
    $("#data .item:first-child").hide(); 
    $("#data .item:first-child").fadeIn(); 
}); 

Live Demo: jsfiddle