web-dev-qa-db-fra.com

jquery prepend + fadeIn

J'ai ce code:

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

mais le fondu entrant ne fonctionne pas ... Je veux que le contenu soit ajouté au début et au début ... comment vais-je faire cela?

Merci d'avance!

48
yretuta

En supposant que response est HTML, essayez ceci:

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

Quand vous le faites de cette façon:

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

ce que vous êtes en train d’apporter est le résultat du sélecteur initial (la liste au premier plan), qui est déjà visible.

105
cletus

+1 à cletus, mais je voulais juste souligner l’autre façon de le faire.

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

Essayez ceci: 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();
});

Démo en direct: jsfiddle

1
Abhishek