2010-09-27 64 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指数)