JavaScript:如何加载文件夹中的所有图像?

JavaScript:如何加载文件夹中的所有图像?,javascript,image,load,Javascript,Image,Load,以上内容将仅加载myImage.png。如何加载myFolder的所有图像?您需要某种方法来获取该文件夹中的文件列表。这可以手动定义为数组,也可以通过AJAX请求检索到服务器端脚本,该脚本为您列出文件。无论哪种方式,都没有“神奇”的方法来获取文件夹中的所有图像。JavaScript无法直接访问文件系统的内容。您必须首先使用服务器端脚本(用PHP等编写)传递内容 一旦你有了这些文件,你就可以在JavaScript中使用一个循环来分别加载它们。如果你有文件夹中所有文件的名称,你需要循环并按名称打开每

以上内容将仅加载myImage.png。如何加载myFolder的所有图像?

您需要某种方法来获取该文件夹中的文件列表。这可以手动定义为数组,也可以通过AJAX请求检索到服务器端脚本,该脚本为您列出文件。无论哪种方式,都没有“神奇”的方法来获取文件夹中的所有图像。

JavaScript无法直接访问文件系统的内容。您必须首先使用服务器端脚本(用PHP等编写)传递内容


一旦你有了这些文件,你就可以在JavaScript中使用一个循环来分别加载它们。

如果你有文件夹中所有文件的名称,你需要循环并按名称打开每个图像。你不能直接加载整个文件夹,也不能用Javascript访问文件系统来获取名称,你需要通过PHP之类的东西将它们传递到页面。

如果你的图像名称像你说的那样是连续的,你可以为名称创建一个循环,在每次迭代中检查图像是否存在,如果不存在,则中断循环:

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

这些图像有随机名称还是某种序列?它们是0.png、1.png的序列,但我不知道序列何时会在给定的文件夹中结束。这可能有效,但有人能告诉我如何使用while或for循环来完成吗?
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;
}