var img = new Image();
img.src = "images/myFolder/myImage.png";
Приведенное выше загрузит только myImage.png. Как загрузить все изображения myFolder?
var img = new Image();
img.src = "images/myFolder/myImage.png";
Приведенное выше загрузит только myImage.png. Как загрузить все изображения myFolder?
JavaScript не может напрямую обращаться к содержимому файловой системы. Сначала вам нужно будет передать содержимое, используя серверный скрипт (написанный на PHP и т. д.).
Затем, когда у вас это есть, вы можете использовать цикл в своем JavaScript, чтобы загружать их по отдельности.
Если ваши имена изображений последовательны, как вы сказали, вы можете создать цикл для имен, проверяя на каждой итерации, существует ли изображение, а если нет, разорвите цикл:
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;
}
Вам нужен какой-то способ получить список файлов в этой папке. Его можно либо определить вручную как массив, либо получить с помощью AJAX-запроса к сценарию на стороне сервера, который выводит список файлов для вас. В любом случае, не существует «волшебного» способа получить все изображения в папке.
Если у вас есть все имена файлов в папке, вам нужно просмотреть и открыть каждое изображение по имени. Вы не можете просто загрузить всю папку напрямую, и вы не можете получить доступ к файловой системе в Javascript, чтобы получить имена, вам нужно будет передать их на страницу через что-то вроде PHP.