2014-02-24 189 views
0
$(document).ready(function() { 
     $(".box2").load("page1.html"); 
    }); 
    $(".box2").ready(function() { 
     $(".box3").load("page1.html"); 
    }); 

这是我的代码,我有几个盒子都带有图像,我想要它,所以当图像1(page1.html)加载时,只有下一个必须加载,而不是之前第一个被加载。异步加载图像

回答

0

您可以为加载调用设置一个完整的处理程序。 您可以在该函数内链中的下一个呼叫

例子:

$("#result").load("ajax/test.html", function() { 
    alert("Load was performed."); 
}); 

您的具体情况:

$(document).ready(function() { 
    $(".box2").load("page1.html", function() { 
     $(".box3").load("page1.html"); 
    }); 
}); 
+0

这适用于加载部分,但它不会异步。如果我错了,纠正我的错误 – user3319187

+0

图像仍然以相同的速度同时加载。 – user3319187

+0

即使在正常的HTML中,img标签也会导致单独的异步调用来下载和显示图像。这意味着除了ajax调用之外,实际上有更多的异步调用。换句话说:如果您的Page1.html包含img标记,则无法控制该图像请求何时完成。您可以省略ajax load()函数并改为使用两个图像标记。等待img1加载并在onload函数中更改下一个图像标记的src。 Onload函数可以像这样分配.. img1.onload = function(){}; – Teddy