sisi231
Messages postés207Date d'inscriptionmercredi 5 mars 2003StatutMembreDernière intervention29 mars 2013
-
11 mars 2008 à 20:05
PatetHT
Messages postés1Date d'inscriptionmercredi 8 septembre 2004StatutMembreDerniè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 !...
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 12 mars 2008 à 09:50
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';