2009-05-01 62 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); 
}); 
 

感谢你们俩!

相关问题