我当前的网络应用程序项目大量使用ajax调用。他们中的大多数都很快并几乎立即做出反应。因此,无需一直显示ajax加载程序。但是当ajax调用花费的时间超过250ms(左右)时,我想显示一个ajax加载器。否则,用户可能会感到困惑,并一遍又一遍地点击链接。 :)
如何使用jQuery实现这一目标?
答案 0 :(得分:4)
我之前没有使用过jQuery的经验,但为了实现一些代码执行的简单延迟,只需使用:
setTimeout ("foo()", 250);
其中foo()是负责加载... 指示的函数。
答案 1 :(得分:2)
您可以使用Javascript计时器在250ms后触发显示“loading ...”消息吗?
在ajaxSend()上激活它,并在ajaxComplete()上禁用它(如果需要,则清除'loading ...'消息),因此对于您所做的任何Ajax调用,实现应该是透明的。
答案 2 :(得分: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();
});