2011-09-30 41 views
0

是否有可能找到所有的圖像是否加載到Ajax內容?我已經使用我如何才能找到所有的圖像加載在Ajax使用jQuery的

var img = $('#slider img'); 
var length = img.length; 

img.load(function(){ 
    length--; 

    if(length === 0){ 
     alert("All images loaded"); 
    }; 
}); 

,但負載不工作,不goning到環......

+1

我沒有看到一個循環?上面的代碼從哪裏調用?使用'$('#slider img')'選擇元素將只能找到當前DOM中存在的元素,所以您需要確保它在AJAX調用創建圖像元素後運行。 – nnnnnn

+0

@nnnnnn我說過的循環就像我沒有得到警報'所有圖像加載'。加載函數綁定到imgs,但它仍然不起作用 – Harry

+0

你是說你的原始代碼有一個循環,但爲了解決問題,你已經簡化了它,而不是通過提示? (如果是這樣,請編輯您的問題,以便它不會引用我們看不到的東西。)您如何知道加載函數是綁定到圖像上的,您是否嘗試將alert或console.log放入函數的第一行確認被調用的次數? – nnnnnn

回答

0

嘗試這樣的事情。

$('#slider img').each(function() { 
     //Write pre loading script 
}); 
0

您需要添加事件監聽器負載成立之前SRC屬性。或者你可以掃描圖像,並檢查是否每個加載(按圖像大小):

var img = $('#slider img'); 
var length = img.length; 

img.each(function(){ 
    if ($(this).width() > 0 && $(this).height() > 0) 
     length--; 

    if(length === 0){ 
     alert("All images loaded"); 
    }; 
}); 

我沒有檢查代碼。

相關問題