Attendre chargement image [Résolu]

Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
- - Dernière réponse : PatetHT
Messages postés
1
Date d'inscription
mercredi 8 septembre 2004
Dernière intervention
9 juin 2008
- 9 juin 2008 à 12:02
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
631
Date d'inscription
samedi 28 septembre 2002
Dernière intervention
18 mai 2009
2
Merci
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';

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de XtremDuke
Messages postés
21
Date d'inscription
mercredi 24 janvier 2007
Dernière intervention
13 octobre 2008
0
Merci
C'est une question qui me traverse l'esprit également en ce moment.
Commenter la réponse de ThomasDele
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
0
Merci
Bonjour,

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

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

SISI231
Commenter la réponse de sisi231
Messages postés
1
Date d'inscription
mercredi 8 septembre 2004
Dernière intervention
9 juin 2008
0
Merci
dfghfghfg
fg
hf
hf
h
f
hg
ghhhhhhhhhhhhhhhhh
Commenter la réponse de PatetHT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.