如何知道ajax加载的内容何时完成图像加载?

时间:2009-05-01 00:06:51

标签: javascript ajax image loading

我正在从ajax请求加载html,并在其中加载一些 img 标记。

我需要知道ajax中加载的图像何时完全加载以调整容器的大小。 我不知道结果中有多少图像,所以我不能简单地检查 .complete 值。

你知道解决方案吗?

谢谢!

Leandro的

3 个答案:

答案 0 :(得分:1)

如果您正在使用jQuery,$(window).load()命令可以设置在加载所有图像后调用的函数,如下所示:

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

如果你没有使用jQuery,我只是做我想要的位功能时所做的事情:下载它并检查源代码以了解它是如何做到的。然后这样做: - )

答案 1 :(得分:0)

XMLHTTPrequests具有可用于确定加载何时完成的属性。如果您直接使用javascript,则需要为onreadystatechange事件分配一个函数。每次状态改变时都会调用此方法。状态存储在ReadyState中,并且是: 0没有经验 1正在加载 2加载 3互动 4完成

在您的功能中,您检查状态是否为4并调用其他所需功能

JQuery有事件可以告诉您何时发生了某些事情。 View the AJAX Documentation

答案 2 :(得分:0)

好的,多亏了Pax,我找到了解决方案。

在ajax请求的成功事件中(使用jQuery),我添加了以下代码:


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

谢谢你们两位!