2009-09-16 53 views
9

我有一個負載功能,並想爲而它加載代碼編寫一些HTML到一個div,並在結束時,顯示該頁面。我看到ajaxStart和ajaxComplete事件的一些小writeups,但我不知道如何實現它們。如何調用jQuery的ajaxStart + ajaxComplete

這裏是我想使用jQuery的,但不知道如何我目前的代碼中實現...

$(document).ajaxStart(function(){ 
    $('#content').html("Loading Content..."); 
    }); 

這是當前的jQuery我使用:

//Load content 
$(".load").click(function(){ 
    $("#content").empty();   
    loadName = $(this).attr("id"); 
    $("#content").load("/content/" + loadName + ".php"); 
    }); 

回答

17

如果它是一個單獨的div,並且您希望使用加載消息/指示器更新其內容,則可以這樣做:

$("#content").html('<strong>Loading...</strong>') 
      .load("/content/" + loadName + ".php"); 

我不會使用ajaxStartajaxStop/ajaxCompleteglobal events除非您有一個共同的加載指示器所有 ajax調用。這就是說,它可以如下進行:

$("#loading").bind("ajaxStart", function(){ 
    $(this).show(); 
}).bind("ajaxStop", function(){ 
    $(this).hide(); 
}); 

其中loading元素是任何你想要的Ajax調用時透露。

+0

有時這些內容負荷如此之快,該消息載入中...甚至不成爲visible.How我們設置一些時間間隔,讓用戶可以看到的東西正在加載.... – defau1t 2012-09-21 05:13:37