我有这个JavaScript for循环:
for (var i = 0; i < arr.length; i++) {
$.get(arr[i]).done(function (html) {
$(".main").append($(html).find(".section"));
$('.section:not(:first) .blog-items-list').remove();
});
}
当for循环准备就绪时。然后我想要启动另一个脚本/功能。我怎样才能做到这一点?当我打字,功能。那不行。
答案 0 :(得分:4)
var d = [];
for (var i = 0; i < arr.length; i++) {
d.push($.get(arr[i]).done(function (html) {
$(".main").append($(html).find(".section"));
$('.section:not(:first) .blog-items-list').remove();
}));
}
$.when.apply($, d).then(function() {
// all get requests have finished
});
$.when()
是一个jQuery函数,等待所有传递的延迟都被解析。一旦它不接受延迟数组而是接受多个参数 - 我们使用.apply()
答案 1 :(得分:1)
var count = arr.length;
for (var i = 0; i < arr.length; i++) {
$.get(arr[i]).done(function (html) {
$(".main").append($(html).find(".section"));
$('.section:not(:first) .blog-items-list').remove();
if(--count === 0)
next();
});
}
function next(){
// after all done completed
}