8
var img = new Image();
img.src = "images/myFolder/myImage.png";

上記は myImage.png のみをロードします。myFolder のすべての画像を読み込むには?

4

4 に答える 4

17

画像名があなたの言ったように連続している場合は、名前のループを作成し、画像が存在するかどうかを反復ごとに確認し、存在しない場合はループを破ることができます。

var bCheckEnabled = true;
var bFinishCheck = false;

var img;
var imgArray = new Array();
var i = 0;

var myInterval = setInterval(loadImage, 1);

function loadImage() {

    if (bFinishCheck) {
        clearInterval(myInterval);
        alert('Loaded ' + i + ' image(s)!)');
        return;
    }

    if (bCheckEnabled) {

        bCheckEnabled = false;

        img = new Image();
        img.onload = fExists;
        img.onerror = fDoesntExist;
        img.src = 'images/myFolder/' + i + '.png';

    }

}

function fExists() {
    imgArray.push(img);
    i++;
    bCheckEnabled = true;
}

function fDoesntExist() {
    bFinishCheck = true;
}
于 2012-06-21T18:52:42.193 に答える
9

JavaScript は、ファイル システムの内容に直接アクセスできません。まず、サーバー側スクリプト (PHP などで作成) を使用してコンテンツを渡す必要があります。

それができたら、JavaScript でループを使用して、それらを個別にロードできます。

于 2012-06-21T18:17:31.770 に答える
1

そのフォルダー内のファイルのリストを取得するには、何らかの方法が必要です。これは、配列として手動で定義するか、ファイルを一覧表示するサーバー側スクリプトへの AJAX 要求によって取得することができます。いずれにせよ、フォルダー内のすべての画像を取得する「魔法の」方法はありません。

于 2012-06-21T18:17:13.160 に答える
0

フォルダー内のすべてのファイルの名前がある場合は、ループして各画像を名前で開く必要があります。フォルダ全体を直接ロードすることはできず、Javascript でファイル システムにアクセスして名前を取得することはできません。PHP などを介してページに渡す必要があります。

于 2012-06-21T18:18:46.657 に答える