Ich versuche zu warten und dann eine Nachricht zu erhalten, wenn alle Bilder in einem Array geladen haben (mit .complete), pro Antwort here. Als solche richte ich eine Endlosschleife wie die folgende ein. Wenn ich das ausführe, bekomme ich einen Fehler, dass checkForAllImagesLoaded() nicht definiert ist. Dieser Code wird durch ein Bookmarklet ausgeführt und ist daher in einem anonymen Funktionskonstrukt verpackt (siehe unten). Wenn ich meine Funktion und Variable außerhalb dieses Konstrukts neu definiere, funktioniert es. Aber das scheint ein schlechter Weg zu sein, ein Bookmarklet zu schreiben. Wie kann ich das beheben, damit es die Funktion nach dem setTimeout noch erkennt?Funktion ruft selbst nicht funktioniert (Endlosschleife, 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();
})();
schön, danke! –