Barre de progression dans une boucle : impossible de modifier son avancement
Bonjour à tous,
Je me retrouve devant un petit problème : je m'en remet à vous pour trouver une solution...
J'ai une fonction en javascript qui contient plusieurs boucles, et qui peut mettre un certain temps à s'exécuter. Pour que les utilisateurs voient l'avancement du calcul, je voulais ajouter une barre de progression.
Dans les différentes boucles, j'ai donc plusieurs appels du type
Code:
FenPrincipale.progression(int);
Seulement la barre de progression n'apparaît même pas : la page se bloque jusqu'à ce que la fonction soit terminée, sans afficher et encore moins mettre à jour la barre de progression. Pourtant, si j'arrête le calcul au milieu, la barre de progression s'affiche, et l'avancement est normal.
C'est donc visiblement juste un blocage de la page : existe-t-il un moyen pour éviter ce blocage et pour rafraîchir l'affichage en attendant la fin de la fonction ?
Un bout de la fonction pour vous donner une idée :
Code:
1 2 3 4 5 6 7 8
| for (j=0; j<nbEquipage; j++) {
for (k=0; k<manchesRetirees; k++) {
equipages[j]['points'] -= equipages[j]['pointsTries'][nbManche-k-1];
equipages[j]['pointsRetires'].push(equipages[j]['pointsTries'][nbManche-k-1]);
}
equipages[j]['pointsTries'] = equipages[j]['pointsTries'].slice(0, equipages[j]['pointsTries'].length-manchesRetirees);
FenPrincipale.progression(parseInt((i+1)*10/nbEquipage)+60);
} |
D'avance merci pour vos réponses !