2011-08-02 18 views
2

我使用一個Ajax方法獲取數據,有沒有辦法在過程正在緊張進行中,我可以實現加載定時器?JQuery的AJAX - 加載定時器

乾杯

+0

在AJAX之前取消隱藏gif,隱藏完成。使用 –

回答

2

那麼看到的是,加載時間會有所不同的定時器可能不是最好的選擇,但你可以做的是有這樣

<img src="preloader.gif" id="Preloader" style="display:none;" />圖像您可以從preloaders.net

在jQuery的得到一些然後如果這是你正在使用的。在請求前顯示預加載器。

$("#Preloader").show(); 
$.ajax({ 
    url: "test.html", 
    context: document.body, 
    success: function(){ 
    // On success hide the preloader 
    $("#Preloader").hide(); 
    }, 
    error: function(){ 
    // On error hide the preloader as well 
    $("#Preloader").hide(); 
    } 
}); 
+0

複製/粘貼錯字 - 調用'.hide()'成功; O) –

+0

哈哈,謝謝,完全忽略了一個。 – brenjt

1

您可以使用$.ajaxStart()$.ajaxComplete(),讓你可以隨時調用Ajax開始/結束綁定處理程序。

否則,我不認爲有任何的方式來測量呼叫的進展。

1

有沒有辦法做一個實際的計時器,因爲調用是異步的,也沒有當/如果該請求將完成辦法告訴。如果您使用jQuery,則可以使用ajaxStart()/ ajaxComplete()方法顯示加載圖像或其他內容。

3

divstyle="display:none;" CSS添加ajaxLoader.gif spinny動畫圖像,然後在你的AJAX回傳的開始,在回調再次呼籲.show()然後.hide()查詢完成時。如果你想顯示/隱藏所有AJAX回發裝載機也可以使用ajaxStart()ajaxComplete()事件。

+0

好主意'ajaxStart()'和'ajaxComplete()'。 – brenjt