我有一個問題,我剛剛發現,我認爲這個項目完成後。它在我的本地服務器上完美運行,但是當我將代碼實時推送時,圖像可能需要半秒才能正確加載,導致在加載圖像上彈出一個小頁面縮略圖。哎呀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對象,並等待到加載???
一旦頁面緩存加載顯然工作正常,但它首先加載時有點痛苦,所以我需要解決這個問題。 任何建議歡迎:)謝謝