2010-01-15 91 views
2

因为我正在使用的页面是Intranet页面,所以我的AJAX调用与响应一起非常快。出于可用性目的,我想暂停1-2秒来显示加载动画。下面是我尝试过的,但动画几乎不可见。在JQuery AJAX之前暂停

$(document).ready(function(){ 
    $('#wait').hide(); 
    $('#submitform').click(function(){ 
    $('#wait').show(); 
    $.ajax({ 
     type: "POST", 
     url: "abs_newabs_check.asp", 
     data: { StaffID: $("#suggest1").val() }, 
     success: callback 
    }); 

}); 
}); 

function callback(data, status) 
{ 
    $('#wait').hide(); 
    $("#ajaxdiv").html(data); 
} 
+1

“我想让我的应用程序变得更慢”,多么有趣的想法:-) – naivists 2010-01-15 09:44:51

回答

3

添加一个setTimeout调用回调函数:

function callback(data,status) { 
    setTimeout(function() { 
    $("#wait").hide(); 
    $("#ajaxdiv").html(data); 
    }, 1500); 
} 

NB。数据参数将被传递到匿名函数为关闭,如果我没有记错

1

使用setTimeout函数

setTimeout("alert('5 seconds has passed.');",5000); 
5

我会建议考虑不同的方式来增加可用性你现在放慢你的服务来帮助用户。那么如何使用Yellow Fade Technique这样,您可以显示页面上发生了变化,并且不会减慢系统速度。

这是一个相关的问题,可能会有所帮助。 Yellow fade Effect with JQuery

+0

谢谢你。我已经与我的加载动画一起实现了。 – tonyyeb 2010-01-15 11:40:06