2011-09-30 28 views
0

是否有可能找到所有的图像是否加载到Ajax内容?我已经使用我如何才能找到所有的图像加载在Ajax使用jQuery的

var img = $('#slider img'); 
var length = img.length; 

img.load(function(){ 
    length--; 

    if(length === 0){ 
     alert("All images loaded"); 
    }; 
}); 

,但负载不工作,不goning到环......

+1

我没有看到一个循环?上面的代码从哪里调用?使用'$('#slider img')'选择元素将只能找到当前DOM中存在的元素,所以您需要确保它在AJAX调用创建图像元素后运行。 – nnnnnn

+0

@nnnnnn我说过的循环就像我没有得到警报'所有图像加载'。加载函数绑定到imgs,但它仍然不起作用 – Harry

+0

你是说你的原始代码有一个循环,但为了解决问题,你已经简化了它,而不是通过提示? (如果是这样,请编辑您的问题,以便它不会引用我们看不到的东西。)您如何知道加载函数是绑定到图像上的,您是否尝试将alert或console.log放入函数的第一行确认被调用的次数? – nnnnnn

回答

0

尝试这样的事情。

$('#slider img').each(function() { 
     //Write pre loading script 
}); 
0

您需要添加事件监听器负载成立之前SRC属性。或者你可以扫描图像,并检查是否每个加载(按图像大小):

var img = $('#slider img'); 
var length = img.length; 

img.each(function(){ 
    if ($(this).width() > 0 && $(this).height() > 0) 
     length--; 

    if(length === 0){ 
     alert("All images loaded"); 
    }; 
}); 

我没有检查代码。

相关问题