我有一个问题,我刚刚发现,我认为这个项目完成后。它在我的本地服务器上完美运行,但是当我将代码实时推送时,图像可能需要半秒才能正确加载,导致在加载图像上弹出一个小页面缩略图。哎呀ajax - 在写入页面之前检查图像已加载
alt text http://img815.imageshack.us/img815/985/loading.jpg
所以发生了什么?那么首先,一个函数运行在window.load
上,这个函数创建了大量带有加载gif的列表项目作为bg图像。
那么这个功能会弹出一个<img>
标签到第一个列表项,与onload
它通过一个XML文件调用第二功能
这第二个函数周期和包装在XML中的URL在<img>
标签和看跌期权它在下一个空的LI
。这是问题所在。目前它将<img src=$variable onload=loadnextimage() />
放入实际加载之前的List项目中。
我的代码:
$(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对象,并等待到加载???
一旦页面缓存加载显然工作正常,但它首先加载时有点痛苦,所以我需要解决这个问题。 任何建议欢迎:)谢谢