2009-04-12 47 views
5

我目前的網絡應用程序項目大量使用ajax調用。他們中的大多數都很快並且幾乎立即響應。所以,一直顯示一個jax loader是沒有必要的。但是,當ajax調用時間超過250ms(或大約250ms)時,我想顯示一個ajax加載器。否則,用戶可能會感到困惑,並不斷重複點擊鏈接。 :)顯示阿賈克斯加載指標不是馬上,但延遲

任何想法如何完成使用jQuery?

回答

4

我用jQuery以前沒有經驗,但要實現一個簡單的延遲的部分代碼被執行,只要使用此:

setTimeout ("foo()", 250); 

其中foo()負責裝載功能...指示。

+0

另外請注意,它有點更快地使用富作爲變量,而不是字符串,因爲如果你使用一個字符串,它會得到eval'ed: 的setTimeout(FOO,250); – moff 2009-04-12 14:51:46

2

你可以使用Javascript計時器在250ms後觸發以顯示你的'loading ...'消息嗎?

激活ajaxSend()並在ajaxComplete()上禁用它(並且如果需要清除'正在加載...'的消息),並且實現應該對您所做的任何Ajax調用都是透明的。

1
var activity = false; 
$("#loadingIndicator").ajaxStart(function() { 
    activity = true; 
    window.setTimeout(function() { 
     if (activity) { 
      //alert('activity'); 
      $("#loadingIndicator").show(); 
     } 
    } 
    , 700); 
}); 
$("#loadingIndicator").ajaxStop(function() { 
    activity = false; 
    $(this).hide(); 
});