一旦完成所有三个加载...

$("#sidebar a").live("click", function(e){
    $(this).addClass("selected loading");
    $("#conceptual").load(conceptualUrl, null, function(){ $(this).removeClass('loading').show("fast");  });
    $("#development").load(developmentUrl, null, function(){ $(this).removeClass('loading').show("fast"); });
    $("#operational").load(operationalUrl, null, function(){ $(this).removeClass('loading').show("fast"); });
});


完成所有三项加载后,如何从链接中删除加载类?

$("#sidebar a.loading").removeClass("loading");


谢谢!

最佳答案

请尝试以下操作:

$("#sidebar a").live("click", function(e){
    $(this).addClass("selected loading");
    var num_loaded = 0;
    var num_to_load = 3;

    function show() {
       num_loaded++;
       if (num_loaded === num_to_load) {
         $(this).removeClass('loading').show("fast");
       }
    }

    $("#conceptual").load(conceptualUrl, null, show);
    $("#development").load(developmentUrl, null, show);
    $("#operational").load(operationalUrl, null, show);
});


show函数通过关闭保持num_loadednum_to_load的可见性。由于功能都相同,因此将匿名回调重构为单个命名函数也很有意义。

关于ajax - jquery-在多个.load之后执行[x],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1685893/

10-12 07:31