我正在從ajax請求中加載html,還有一些img標籤在裏面。如何知道何時加載Ajax內容完成圖像加載?
我需要知道何時在ajax中加載的圖像被完全加載來調整容器大小。 我不知道結果中有多少圖片,所以我不能簡單地檢查.complete的值。
你知道這個解決方案嗎?
謝謝!
萊昂德羅
我正在從ajax請求中加載html,還有一些img標籤在裏面。如何知道何時加載Ajax內容完成圖像加載?
我需要知道何時在ajax中加載的圖像被完全加載來調整容器大小。 我不知道結果中有多少圖片,所以我不能簡單地檢查.complete的值。
你知道這個解決方案嗎?
謝謝!
萊昂德羅
如果你使用jQuery,一旦所有的圖像加載的$(window).load()
命令可以建立一個函數的調用,如下所示:
$(window).load(
function() {
// weave your magic here.
}
);
如果你不使用jQuery,我只是做我所做的事情,當我想要的小功能位:下載它,並檢查來源,看看它是如何做到這一點。然後執行以下操作:-)
XMLHTTP請求具有可用於確定加載何時完成的屬性。如果您直接使用javascript,則需要將函數分配給onreadystatechange事件。每次狀態改變時都會調用它。該狀態存儲在readyState的和是: 0未初始化 1加載 2加載 3互動 4完成
在你的功能,您檢查狀態是4和調用其它所需的功能
jQuery有事件告訴你什麼時候發生了某些事情。 View the AJAX Documentation
是的,但是當加載結果ajax請求的圖像時沒有事件發生。 .load()是解決方案。 無論如何。 – 2009-05-01 01:17:31
好的,多虧了Pax,我找到了解決方案。
在成功事件Ajax請求(使用jQuery),我已經添加以下代碼:
$('img', this).load(function() {
resize_element(this);
});
感謝你們倆!
好吧,ajax在用戶請求時加載圖像。所以在內容加載之後很多。 是否可以在任何元素中使用.load()函數?也許我可以將該事件掛接到容器。 – 2009-05-01 00:28:52