je le code suivant (les parties pertinentes):fonction Javascript pour le feu après les images ont terminé le chargement (pas jQuery)
window.addEventListener("load", loadImages, false);
var imgl = new Array();
function loadImages() {
var img = [
"img1",
"img2",
"img3",
"etc"
];
imgl[img.length-1].onload = function() {
alert();
initialise();
}
for (i = 0; i < img.length; i++) {
imgl[img[i]] = new Image();
imgl[img[i]].src = "img/"+img[i]+".png";
}
}
function initialise() {
//...
}
et je veux tirer la fonction initialise()
après toutes les images ont fini de charger, mais rien que j'ai essayé a fonctionné. (Btw le alert()
dans l'exemple est pour tester, et je ne comprends pas.) Pourquoi est-ce faux? D'autres méthodes pour le faire sont également appréciées.
également je ne veux pas utiliser jQuery, seulement si absolument inévitable.
Merci d'avance.
EDIT:
Ce qui suit ne fonctionne pas non plus, bien faire plus de sens:
for (i = 0; i < img.length; i++) {
imgl[img[i]] = new Image();
}
imgl[imgl.length-1].onload = function() {
initialise();
}
for (i = 0; i < img.length; i++) {
imgl[img[i]].src = "img/"+img[i]+".png";
}
Si ce n'était pas, ma suggestion serait de repenser la façon dont vous utilisez 'onload'. [Je ne pense pas] [1] vous pouvez appliquer 'onload' à une variable de type' Image'. Les variables ne sont pas chargées, elles sont initialisées. Qu'essayez-vous de faire de toute façon? –
dupliquer de http://stackoverflow.com/questions/5021990/how-to-ensure-images-all-loaded-before-i-reference-in-my-html-canvas, ce qui donne une bonne réponse sans utiliser jQuery –
merci, ça a beaucoup aidé ... sry pour le duplicata –