我目前的網絡應用程序項目大量使用ajax調用。他們中的大多數都很快並且幾乎立即響應。所以,一直顯示一個jax loader是沒有必要的。但是,當ajax調用時間超過250ms(或大約250ms)時,我想顯示一個ajax加載器。否則,用戶可能會感到困惑,並不斷重複點擊鏈接。 :)顯示阿賈克斯加載指標不是馬上,但延遲
任何想法如何完成使用jQuery?
我目前的網絡應用程序項目大量使用ajax調用。他們中的大多數都很快並且幾乎立即響應。所以,一直顯示一個jax loader是沒有必要的。但是,當ajax調用時間超過250ms(或大約250ms)時,我想顯示一個ajax加載器。否則,用戶可能會感到困惑,並不斷重複點擊鏈接。 :)顯示阿賈克斯加載指標不是馬上,但延遲
任何想法如何完成使用jQuery?
我用jQuery以前沒有經驗,但要實現一個簡單的延遲的部分代碼被執行,只要使用此:
setTimeout ("foo()", 250);
其中foo()負責裝載功能...指示。
你可以使用Javascript計時器在250ms後觸發以顯示你的'loading ...'消息嗎?
激活ajaxSend()並在ajaxComplete()上禁用它(並且如果需要清除'正在加載...'的消息),並且實現應該對您所做的任何Ajax調用都是透明的。
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();
});
另外請注意,它有點更快地使用富作爲變量,而不是字符串,因爲如果你使用一個字符串,它會得到eval'ed: 的setTimeout(FOO,250); – moff 2009-04-12 14:51:46