我知道如何用
做到这一点$(gif).show();
$.post( action, data, function(result) { $(gif).hide(); } );
// using ajaxStart and ajaxStop is a better way too
但是,我不知道怎么做而不使用帖子,我试过
$(gif).show();
doAction(); // No post...
$(gif).hide();
问题是,当doAction函数正在运行时,$(gif)不可见.... 我尝试了超时,但问题是在取决于之前或之后结束doAction()持续时间......
答案 0 :(得分:1)
如果doAction()
所做的是同步的话,这应该有效。
如果不是,则需要在回调中调用hide方法,该回调在操作(无论是什么)结束时触发。
答案 1 :(得分:0)
$(gif).hide()可以在您的doaction执行某些ajax调用(搜索)时触发,这需要时间。
在函数(结果)之后放置隐藏函数的目的是只在你的ajax调用返回结果时调用它。
如果您不想依赖ajax complete来显示或隐藏您的加载器,您可以将结果放在覆盖加载器的DIV层上。 (更高的z指数)