2010-09-27 51 views
1

我知道如何與顯示在沒有AJAX的jQuery中加載GIF?

$(gif).show(); 
$.post(action, data, function(result) { $(gif).hide(); }); 

// using ajaxStart and ajaxStop is a better way too 

這樣做,但我不知道該怎麼做,而無需使用後,我tryed

$(gif).show(); 
doAction(); // No post... 
$(gif).hide(); 

的問題是,雖然doAction功能是運行$(GIF)是不可見的.... 我tryed與超時太,但問題是之前還是取決於doAction()的持續時間之後結束......

+0

它**真的**幫助,如果你告訴我們什麼'doAction()**是**而不是它不是。 – Quentin 2010-09-27 08:53:41

+0

doAction()做任何事情......例如,在元素列表中搜索 – 2010-09-27 09:01:43

回答

1

這應該工作,如果任何doAction()確實是同步的。

如果不是,那麼您將需要在回調中調用hide方法,該回調在操作(不管它是什麼)完成時觸發。

0

$(gif).hide()可以在你的doaction執行一些ajax調用(搜索)時觸發,這需要時間。

在函數(result)之後放置hide函數的目的是,只有當您的ajax調用返回結果時纔會調用它。

如果您不想依賴ajax complete來顯示或隱藏加載器,則可以將結果放在覆蓋加載器的DIV圖層上。 (更高的Z指數)