2009-05-01 94 views
1

我正在從ajax請求中加載html,還有一些img標籤在裏面。如何知道何時加載Ajax內容完成圖像加載?

我需要知道何時在ajax中加載的圖像被完全加載來調整容器大小。 我不知道結果中有多少圖片,所以我不能簡單地檢查.complete的值。

你知道這個解決方案嗎?

謝謝!

萊昂德羅

回答

1

如果你使用jQuery,一旦所有的圖像加載的$(window).load()命令可以建立一個函數的調用,如下所示:

$(window).load(
    function() { 
     // weave your magic here. 
    } 
); 

如果你不使用jQuery,我只是做我所做的事情,當我想要的小功能位:下載它,並檢查來源,看看它是如何做到這一點。然後執行以下操作:-)

+2

好吧,ajax在用戶請求時加載圖像。所以在內容加載之後很多。 是否可以在任何元素中使用.load()函數?也許我可以將該事件掛接到容器。 – 2009-05-01 00:28:52

0

XMLHTTP請求具有可用於確定加載何時完成的屬性。如果您直接使用javascript,則需要將函數分配給onreadystatechange事件。每次狀態改變時都會調用它。該狀態存儲在readyState的和是: 0未初始化 1加載 2加載 3互動 4完成

在你的功能,您檢查狀態是4和調用其它所需的功能

jQuery有事件告訴你什麼時候發生了某些事情。 View the AJAX Documentation

+1

是的,但是當加載結果ajax請求的圖像時沒有事件發生。 .load()是解決方案。 無論如何。 – 2009-05-01 01:17:31

0

好的,多虧了Pax,我找到了解決方案。

成功事件Ajax請求(使用jQuery),我已經添加以下代碼:

 

$('img', this).load(function() { 
    resize_element(this); 
}); 
 

感謝你們倆!

相關問題