我正在从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