J'essaye d'attendre et d'obtenir un message quand toutes les images dans un tableau ont terminé le chargement (using .complete), par la réponse here. En tant que tel, j'ai mis en place une boucle infinie comme ci-dessous. cependant, lorsque j'exécute ceci, j'obtiens une erreur que checkForAllImagesLoaded() n'est pas définie. Ce code est en cours d'exécution via un bookmarklet, et en tant que tel tout est enveloppé dans une construction de fonction anonyme (comme ci-dessous). Si je redéfinis ma fonction et ma variable en dehors de cette construction, cela fonctionne. Mais cela semble être un mauvais moyen d'écrire un bookmarklet. Comment puis-je résoudre ce problème afin qu'il reconnaisse la fonction après le setTimeout?Fonction qui s'appelle ne fonctionne pas (boucle infinie, Javascript)
(function() {
//var images = array of images that have started loading
function checkForAllImagesLoaded(){
for (var i = 0; i < images.length; i++) {
if (!images[i].complete) {
setTimeout('checkForAllImagesLoaded()', 20);
return;
}
}
}
checkForAllImagesLoaded();
})();
belle, merci! –