我有一组事件在一些div中加载一些html:
$("#id1").load("1.html");
$("#id2").load("2.html");
$("#id3").load("3.html");
$("#id4").load("4.html");
Run Code Online (Sandbox Code Playgroud)
然后我隐藏了一个加载栏:
$("#load-bar").hide();
Run Code Online (Sandbox Code Playgroud)
但当然一切都在同一时间发生.
如何将加载元素组合在一起,只在完成后才执行隐藏功能?
$.when($("#id1").load("1.html"), $("#id2").load("2.html"), $("#id3").load("3.html"), $("#id4").load("4.html")).done(function () {
$("#load-bar").hide();
});
Run Code Online (Sandbox Code Playgroud)
Johan评论后更新
var load1 = $.ajax({
url: '1.html',
dataType: 'html'
}),
load2 = $.ajax({
url: '2.html',
dataType: 'html'
}),
load3 = $.ajax({
url: '3.html',
dataType: 'html'
}),
load4 = $.ajax({
url: '4.html',
dataType: 'html'
});
$.when(load1, load2, load3, load4).done(function () {
$("#load-bar").hide();
});
Run Code Online (Sandbox Code Playgroud)
如果你有不同数量的请求,你可以使用 - >评论由Bill Criswell
$.when.apply($, arrayOfDeferreds).done(doWhenAllDone);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |