Pourcentage chargement images

Résolu
wildchildforlife Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   -
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 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
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   Statut Membre Dernière intervention   2
 
Hallelujaaaa !! Merciiiii le genie JS
0
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
*blush* ;-)
0