在触发函数之前等待ajax响应追加并加载内容

时间:2013-09-04 23:48:31

标签: ajax image resize load append

您好我有一个项目,我从服务器上获取带有ajax帖子的帖子,他们检测附加帖子中的图片,并根据他们的比例使用函数调整大小。

问题是当我添加新帖子并尝试触发该功能时,它会将图像检测为大小(高度和宽度)0,导致图像无法加载。我搜索了,但我找不到任何答案,有一种方法可以检测ajax响应中的所有图像(包含其他元素的位置)是否已使用.onload或其他替代方法加载?

1 个答案:

答案 0 :(得分:0)

                                   **Update**

我明白了:

检查ajax响应中的img元素长度:

$("#yourelement").append(html);
var $dialog = $(html);
imglength = $dialog.find("img").length;

在每个加载的img上添加一个count ++,并检查它是否等于img length:

n_images = 0;
$("#yourelement img").on('load', function(){ // check for every new image loaded in # 
n_images++;

if (n_images == imglength) {
//alert(imglength); // I used to verify if it works
yourfunction(); // will fire when all new images have been appended and loaded
}

});