ProgressBar, communication jscript/html dans un for
Bonjour, je me penche actuellement sur la r�alisation d'une progress bar, g�rer non pas par le temps, mais par l'execution d'un script.
Je traite un tableau dans une boucle for, j'ai donc penser a deux solutions, dont aucune n'a march� :
-a chaque tour de boucle faire un innerHTML pour agrandir une div (ou modifier un texte pour afficher le pourcentage)
-creer un timer qui appelerait une fonction modifiant le html via des variable global que je modifie dans mon for
mon code ressemble donc a sa pour la premiere solution :
Code:
1 2 3 4 5 6
| for(i ; i < tab.length ; i++)
{
//Execution du traitement du tableau
ProgressBar.innerHTML = "<font color=\"0x00FF\" >"+Math.round(((i/tab.length)*100))+"%</font>";
} |
ou a sa :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//Variable Global
var iGlobal ;
var iTotal ;
//[...]
timer = new Timer() ; //j'ai une classe timer a ma disposition qui appel une fonction toute les seconde
iTotal = tab.length ;
timer.function = "UpdateProgressBar()"
for(i ; i < tab.length ; i++)
{
iGlobal = i ;
//Execution du traitement du tableau
}
//[...]
function UpdateProgressBar ()
{
ProgressBar.innerHTML = "<font color=\"0x00FF\" >"+((iForTimer/iTotalForTimer)*100)+"%</font>";
} |
Le souci c'est que je ne sais pas pourquoi, mais cela ne veux pas s'updater dans le for, le pourcentage passe de 0% � 100% d'un coup, dans les deux cas.
Y a t-il des propri�t�s de communication entre jscript et html qui emp�cherait le html de s'actualiser a l�int�rieur d'une boucle ?
Ou si vous avez une solution sympa qui marcherait (je ne peux me permetre d'utiliser que du jscript, pas de jQuery, ou autre AJAX, etc)
Merci !