2010-01-15 88 views
2

因爲我正在使用的頁面是Intranet頁面,所以我的AJAX調用與響應一起非常快。出於可用性目的,我想暫停1-2秒來顯示加載動畫。下面是我嘗試過的,但動畫幾乎不可見。在JQuery AJAX之前暫停

$(document).ready(function(){ 
    $('#wait').hide(); 
    $('#submitform').click(function(){ 
    $('#wait').show(); 
    $.ajax({ 
     type: "POST", 
     url: "abs_newabs_check.asp", 
     data: { StaffID: $("#suggest1").val() }, 
     success: callback 
    }); 

}); 
}); 

function callback(data, status) 
{ 
    $('#wait').hide(); 
    $("#ajaxdiv").html(data); 
} 
+1

「我想讓我的應用程序變得更慢」,多麼有趣的想法:-) – naivists 2010-01-15 09:44:51

回答

3

添加一個setTimeout調用回調函數:

function callback(data,status) { 
    setTimeout(function() { 
    $("#wait").hide(); 
    $("#ajaxdiv").html(data); 
    }, 1500); 
} 

NB。數據參數將被傳遞到匿名函數爲關閉,如果我沒有記錯

1

使用setTimeout函數

setTimeout("alert('5 seconds has passed.');",5000); 
5

我會建議考慮不同的方式來增加可用性你現在放慢你的服務來幫助用戶。那麼如何使用Yellow Fade Technique這樣,您可以顯示頁面上發生了變化,並且不會減慢系統速度。

這是一個相關的問題,可能會有所幫助。 Yellow fade Effect with JQuery

+0

謝謝你。我已經與我的加載動畫一起實現了。 – tonyyeb 2010-01-15 11:40:06