1

我有以下代码(相关部分):

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";
    }
4

1 回答 1

1

imgl[img.length-1]不存在,因此不能有“onload”属性。

您在开始时进行初始化img1,但从不填充它。

换句话说: img.length-1= 3

img1[3]不存在。

我收到以下错误消息:

未捕获的类型错误:无法设置未定义的属性“onload”

于 2012-04-22T15:53:42.693 回答