У меня есть небольшая проблема, которую я только что обнаружил после того, как подумал, что этот проект завершен.Он отлично работал на моем локальном сервере, но когда я запускал код в реальном времени, изображения могут загружаться за полсекунды, что приводит к появлению небольшого эскиза страницы поверх загружаемого изображения.grrr
альтернативный текст http://img815.imageshack.us/img815/985/loading.jpg
Так что же происходит?Ну, во-первых, функция запускается на window.load
, которая создала большое количество элементов списка с gif загрузки в качестве изображения bg.
Затем эта функция вставляет тег <img>
в первый элемент списка сonload
, который вызывает вторую функцию
Эта вторая функция циклически просматривает XML-файл, оборачивает URL-адрес в XML в теге <img>
и помещает его в следующий пустой LI
.Вот в чем проблема.На данный момент он помещает <img src=$variable onload=loadnextimage() />
в элемент списка до его фактической загрузки.
Мой код:
$(window).load(function() {
txt="";
for(d=0;d<100;d++)
{
txt=txt + "<li class='gif' id='loading"+d+"'></li>";
}
document.getElementById('page-wrap').innerHTML=txt;
document.getElementById('loading0').innerHTML="<img src='images/0.jpg' onLoad='loadImages(0)' />";
});
function loadImages(i){
i++
$.ajax
({
type: "GET",
url: "sites.xml",
dataType: "xml",
async: "true",
success: function(xml)
{
var img = $(xml).find('image[id=' + i + ']'),
id = img.attr('id'),
url = img.find('url').text();
$('#loading'+i).html('<img src="'+url+'" onLoad="loadImages('+i+')" />').hide();
$('#loading'+i).fadeIn();
}
});
}
У меня такое чувство, что может быть довольно сложно добиться этого, как янастроил ли он, и у меня есть чувство, что мне может понадобиться создать объект img и ждать, пока он загрузится ???
Как только страница кэшируется, загрузка, очевидно, работает нормально, но это немного мучительноОн сначала загружается, так что мне нужно это исправить.Любой совет, добро пожаловать :) спасибо