Je souhaite utiliser une boucle 'for' (méthode non reduce ou forEach ou toute autre méthode) pour parcourir un tableau de données dynamiques (le nombre de valeurs peut varier) et utiliser Jquery différées pour afficher chaque valeur en utilisant les effets Jquery dans l'ordre séquentiel (l'effet doit se terminer avant l'affichage du prochain élément du tableau)Utilisation de Jquery différées et de la boucle 'for' pour rendre les données dynamiques en utilisant les effets Jquery dans l'ordre séquentiel
Voici un bloc de code qui fonctionne avec un code statique sans boucle « pour » - comme vous pouvez voir 1 valeur est fanée à une heure:
<div id="container"></div>
<script>
//I want to be able to process data in an array like this -- but currently this array is not being used below
testdata = [1,2,3,4];
var fadeIn1 = function(){
console.log("started fade in 1");
var promise = $("<h1>test 1</h1>").hide().appendTo("#container").fadeIn(2000);
return promise.promise();
};
var fadeIn2 = function(){
console.log("started fade in 2");
var promise = $("<h1>test 2</h1>").hide().appendTo("#container").fadeIn(2000);
return promise.promise();
};
var fadeIn3 = function(){
console.log("started fade in 3");
var promise = $("<h1>test 3</h1>").hide().appendTo("#container").fadeIn(2000);
return promise.promise();
};
var kickoff = $.Deferred();
firstFadeIn = kickoff.then(function(){
console.log("kickoff");
return fadeIn1();
});
secondFadeIn = firstFadeIn.then(function(){
console.log("second fadein");
return fadeIn2();
});
thirdFadeIn = secondFadeIn.then(function(){
console.log("third fadein");
return fadeIn3();
});
kickoff.resolve();
</script>
Je veux intégrer le code ci-dessus au travail dans une boucle 'for' et être flexible pour pouvoir traiter n'importe quel nombre d'éléments de tableau.
Puisque vous avez un tableau, pensez Array.prototype.forEach à la place. – Taplar
N'est-ce pas une copie exacte de votre [question précédente] (http://stackoverflow.com/q/41174068/1048572)? Il suffit d'utiliser '.reduce' sur un tableau – Bergi
Je veux comprendre comment faire cela en utilisant une boucle 'for' - pour une raison quelconque, je ne peux pas le faire fonctionner et je veux vraiment comprendre comment faire avec 'pour 'loop' au lieu de 'reduce' – Trevor