Je pense que vous aurez besoin de quelque chose comme ceci:
var elementArray = yourAjaxRequestReturningSomethingEdibleByJQuery();
fadeInNextElement(elementArray);
function fadeInNextElement(elementArray)
{
if (elementArray.length > 0)
{
var element = elementArray.pop();
$(element).fadeIn('normal', function()
{
fadeInNextElement(elementArray);
}
}
}
Attention: Je ne l'ai pas testé, mais même si cela ne fonctionne pas, vous devriez avoir l'idée et le fixer facilement. Par ailleurs, je ne suis pas d'accord avec l'utilisation d'une minuterie. Avec une minuterie, rien ne garantit que les éléments se fanent les uns après les autres, et l'évanouissement d'un élément ne commencera que si le précédent est terminé. Théoriquement, cela devrait fonctionner, mais il peut arriver que votre «chaîne» doive s'arrêter pour une raison quelconque, ou que l'animation qui s'estompe ne puisse pas finir à l'heure, etc. Utilisez simplement un chaînage approprié.
Est-il possible de faire en sorte que fadeInNextElement n'affecte pas le tableau?Votre réponse me plaît le plus dans la liste actuelle, mais l'effet secondaire de fadeInNextElement me semble un peu faux. – Dustin