Pourcentage chargement images

Résolu/Fermé
wildchildforlife Messages postés 74 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 23 juillet 2011 - Modifié par wildchildforlife le 18/11/2010 à 15:35
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 19 nov. 2010 à 15:12
Bonjour,

Je suis sur Javascript :
J'ai recemment commencé à créer un script pour le chargement de mes images, sauf que là j'ai un probléme voici mon script :



var j = 0; // POUR COMPTER COMBIEN D'IMAGE A ETE CHARGé
var percent = 0; // POURCENTAGE

var chargement = function ()
{
//NOMBRES D'IMAGE A PRENDRE EN CHARGE
var image_count = document.getElementById('affiches').getElementsByTagName("img").length;

//CREATION D'UN TABLEAU POUR CES IMAGES
var image_array = document.getElementById('affiches').getElementsByTagName("img");

//CALCULE DU POURCENTAGE POUR CHAQUE IMAGE CHARGé
var bar_perc = Math.round(100 / image_count);


for (var i = 0; i < image_count; i++)
{
if (image_array[i].complete)
{
percent = percent + bar_perc;
new_width = new_width + bar_part;
j++;
}
}

if (percent > 100)
{
percent = 100;
}


document.getElementById('pourcentage_loader').innerHTML = percent + '%';

if ( percent == 100 )
{
clearInterval('loading');
document.getElementById('pourcentage_loader').innerHTML = '' ;
}
}

var loading = setInterval('chargement', 100);




VOICA MON PROBLéEME :

L'incrementation de "percent" s'effecturas de 10 par 10 ( supposant qu'on a 10 images )...ce que je veux c'est de le voir s'incrementer instantanément 1 par 1 jusq'au chargement de toute les images equivaux l'obtention de "percent = 100" TOUT EN SACHANT que ça ne doit pas atteindre 100 alors qu'aucune image n'a été chargé ou bien que ça ne doit pas atteindre 10 alors qu'aucune image n'a été chargé...... !!

Merci pour votre aide !!

Cordialement
Youssef !

1 réponse

coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
18 nov. 2010 à 15:45
Ce qu'il faudrait faire, c'est avoir deux variables : la variable percent qui définit le pourcentage de chargement réel, et la variable (disons) percent_display qui représente seulement ce qui est montré.

Tu crées un setTimeout (www.w3schools.com/js/js_timing.asp) qui incrémente percent_display de 1 à toutes les millisecondes (ou centièmes ou dixièmes de seconde, ou comme tu veux) si, et seulement si, percent est plus grand que percent_display. Et à chaque incrémentation de percent_display, tu l'affiches évidemment sur ton compteur.
2
wildchildforlife Messages postés 74 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 23 juillet 2011 2
19 nov. 2010 à 02:39
Hallelujaaaa !! Merciiiii le genie JS
0
coeus Messages postés 3019 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
19 nov. 2010 à 15:12
*blush* ;-)
0