Используйте javascript и оставьте свое изображение src
Свойства пустыми.
Соберите массив адресов изображений и выполните рекурсивный просмотр, загружая изображения и вызывая рекурсивную функцию, когда метод onload
или onerror
для каждого изображения возвращает значение.
HTML:
<img src='' id='img0' alt='[]' />
<img src='' id='img1' alt='[]' />
<img src='' id='img2' alt='[]' />
JS:
var imgAddresses = ['img1.png','img2.jpg','img3.gif'];
function loadImage(counter) {
// Break out if no more images
if (counter==imgAddresses.length) { return; }
// Grab an image obj
var I = document.getElementById("img"+counter);
// Monitor load or error events, moving on to next image in either case
I.onload = I.onerror = function() { loadImage(counter+1); }
//Change source (then wait for event)
I.src = imgAddresses[counter];
}
loadImage(0);
Вы можете даже поиграть с document.getElementsByTagName("IMG")
.
Кстати, если вам нужна загрузка изображения, это хорошее место для начала .
EDIT
Чтобы избежать нескольких запросов к серверу, вы можете использовать почти один и тот же метод, только не вставляйте элементы изображения, пока не будете готовы их загрузить. Имейте контейнер <span>
, ждущий каждого изображения. Затем выполните цикл, получите объект span и динамически вставьте тег изображения:
var img = document.createElement("IMG");
document.getElementById('mySpan').appendChild(img);
img.src = ...
Тогда запрос изображения выполняется только один раз при создании элемента.