Я создаю слайд-шоу из нескольких сотен изображений и хотел бы создать красивую полосу загрузки, поэтому идея состояла в том, чтобы предварительно загрузить изображения с помощью JavaScript, а затем инициализировать оставшиеся послесловия пользовательского интерфейса.
Предварительная загрузка изображений не является проблемой, но заставляет браузер обновлять статус при загрузке. Я попробовал несколько вещей, но браузер перекрасит дисплей только после его завершения.
Я даже пробовал скрипт из этого вопроса , но я получаю те же результаты.
Вот что у меня есть (imgList - это массив имен файлов. Я использую Prototype .)
var imageBuf = []
var loadCount = 0
$('loadStatus').update("0/"+imgList.length)
function init() {
imgList.each(function(element){
imageBuf[element] = new Image()
//imageBuf[element].onload = window.setTimeout("count()",0) // gives "not implemented" error in IE
imageBuf[element].onload = function(){count()}
imageBuf[element].src = "thumbs/"+element
})
}
function count() {
loadCount++
$('loadStatus').update(loadCount+"/"+imgList.length)
}
init()