Attendre chargement image [Résolu]

Signaler
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
-
Messages postés
1
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
9 juin 2008
-
Bonjour !
    
   Je souhaiterais bloquer l'exécution de mon script pendant qu'une image se charge et le reprendre après, autrement dit attendre qu'une image soit chargée.
Vous allez me dire " à quoi cela-te sert-il ? ", à quoi je répondrais que je fabrique un quizz en DHTML, et que l'utilisateur doit cliquer sur une image parmi 4 à chaque question, or à la question suivante certaines images nt été remplacées et d'autres non et l'utilisateur risquerait de cliquer sur une image ancienne.
Je voudrais donc au début du script qui affiche les images mettre une variable à 0 et la mettre à 1 après le chargement complet, et quand l'utilisateur clique sur une image et que cette variable est à 0 lui dire d'attendre.
Biensûr cette fonction d'attente doit laisser l'image se charger et ne pas tout bloquer ce que ne fait pas ma fonction brute :

do {}
while (! document.getElementById("img1").complete)

si une sorte de Application.ProcessMessages de Delphi existait en JavaScript ce serait bien pour ce genre de boucle !...

Merci de m'aider.

Au revoir !

SISI231

5 réponses

Messages postés
631
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Faire une boucle jusqu'à chargement complet de ton image n'est pas conseillé. Ton navigateur peut même t'avertir d'une redondance trop importante et te proposer de geler le JS (enfin sous FF, je n'ai jamais testé sous IE).

Je te conseilles de créer dynamiquement ton image à base de :

var monImageJS = new Image;
monImageJS.onload = function(){
document.getElementById('monImageDOM').src = monImageJS.src;
//Et la suite de ton JS à executer quand chargement fini...
}
monImageJS.src = 'url_de_ton_image';
Messages postés
21
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2008

C'est une question qui me traverse l'esprit également en ce moment.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    tester si .complete dans une fonction [r]appelée par setTimeout

<hr />                Cordialement            Bul        
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
5
Merci, ça marche, bien que cela entraîne que je doive repenser une partie l'architecture du code.

SISI231
Messages postés
1
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
9 juin 2008

dfghfghfg
fg
hf
hf
h
f
hg
ghhhhhhhhhhhhhhhhh