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]存在しません。

次のエラー メッセージが表示されます。

キャッチされていない TypeError: 未定義のプロパティ 'onload' を設定できません

于 2012-04-22T15:53:42.693 に答える