1

我正在从 AJAX 请求中加载 HTML,以及其中的一些img标签。

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

您知道解决方案吗?

4

3 回答 3

1

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

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

如果您不使用 jQuery,当我想要它的一点功能时,我会做我所做的:下载它并检查源代码以了解它是如何实现的。然后这样做:-)

于 2009-05-01T00:18:33.173 回答
0

XMLHTTPrequests具有可用于确定加载何时完成的属性。如果您直接使用 JavaScript,则需要为onreadystatechange事件分配一个函数。每次状态更改时都会调用它。状态存储在ReadyState

  1. 外行
  2. 正在加载
  3. 已加载
  4. 交互的
  5. 完全的

在您的函数中,您检查状态是否为 4 并调用其他必需的函数。

jQuery 有一些事件可以告诉你什么时候发生了某些事情。查看 AJAX 文档

于 2009-05-01T01:01:32.663 回答
0

好的,感谢 Pax,我找到了解决方案。

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


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

谢谢你们俩!

于 2009-05-01T01:21:46.280 回答