Attendre chargement image [Résolu]

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

5 réponses

Répondre au sujet
XtremDuke 631 Messages postés samedi 28 septembre 2002Date d'inscription 18 mai 2009 Dernière intervention - 12 mars 2008 à 09:50
+2
Utile
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';
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de XtremDuke
ThomasDele 21 Messages postés mercredi 24 janvier 2007Date d'inscription 13 octobre 2008 Dernière intervention - 11 mars 2008 à 22:39
0
Utile
C'est une question qui me traverse l'esprit également en ce moment.
Commenter la réponse de ThomasDele
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 12 mars 2008 à 06:49
0
Utile
Bonjour,

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

<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 12 mars 2008 à 11:35
0
Utile
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
PatetHT 1 Messages postés mercredi 8 septembre 2004Date d'inscription 9 juin 2008 Dernière intervention - 9 juin 2008 à 12:02
0
Utile
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.