我有以下代碼(相關部分):JavaScript函數火(無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() {
//...
}
,我想火initialise()
功能後,所有圖像都加載完畢,但我沒有嘗試過。 (在這個例子中,alert()
是用於測試的,我沒有得到它。)爲什麼這是錯誤的?也讚賞其他方法。
也我不想使用jQuery,只有當絕對不可避免。
在此先感謝。
編輯:
下也不管用,雖然使得更多的意義:
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";
}
如果不是它,我的建議是重新考慮你使用'onload'的方式。 [我不認爲] [1]你可以將'onload'應用於'Image'類型的變量。變量未加載,它們已初始化。無論如何,你想做什麼? – 2012-04-22 16:35:15
http://stackoverflow.com/questions/5021990/how-to-ensure-images-all-loaded-before-i-reference-in-my-html-canvas的副本,它給出了一個很好的答案,而不使用jQuery – 2012-04-22 17:16:15
謝謝,它幫助了很多...爲重複而努力 – 2012-04-22 17:22:17