JQuery为一组链接逐个加载功能?

时间:2013-04-07 21:00:07

标签: javascript jquery sleep jquery-load

我有ul,其中包含许多链接。当使用jQuery加载这些链接时,它会同时呈现它们。如何尝试以下方法逐个加载它们:

JS:

$('#publish').click(function() {
    $('#get_links li').
        each(function() {
            $(this).load('test.php',{'post':$(this).text()});
            $(this).html("<i class='icon-spin icon-spinner'></i>Loading");

            ///NEED TOSLEEP UNTILL $.load finish..
        }
        );
     }
);

我怎么能睡到.each循环直到.load完成?

1 个答案:

答案 0 :(得分:2)

您可以使用$().load回调:

$('#publish').click(function(){
    var $link = $('#get_links li').first();

    var loadLink = function() {
        $link.load('test.php', { post: $link.text() }, function() {
            // once loading is done, grab the next link...
            $link = $link.next();
            // ... and load it if we found one
            if ($link.length) loadLink();
        }).html('<i class="icon-spin icon-spinner"></i>Loading');
    };

    // load the first link
    loadLink();
});