-2

私はループのためにこのJavaScriptを持っています:

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 ループの準備ができたら。次に、他のスクリプト/関数を起動します。どうやってやるの?入力すると、機能します。それは機能していません。

4

2 に答える 2

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()渡されたすべての deferred が解決されるまで待機する jQuery 関数です。遅延オブジェクトの配列を受け入れず、代わりに複数の引数を受け入れるとすぐに-使用します.apply()

于 2013-05-30T12:50:12.533 に答える
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
}
于 2013-05-30T12:54:09.297 に答える