2014-01-28 65 views
0

我刚刚在我的页面发送ajax请求时显示图像“loading.gif”。但我得到的反应非常快,因此加载图像不可见,只持续不到一秒钟。我只是想控制和增加响应时间。以便能够看到加载图像至少2秒钟。有什么办法吗?如何增加ajax/jquery加载时间

+2

使用setTimeout .. –

+3

_please_不限制用户的等待时间,因为您希望显示加载屏幕,而只有在用户等待超过一秒左右时才显示它。 – epoch

+0

我知道它的不好的做法..但我必须这样做,因为我的老板让我这样做。然后做什么:( –

回答

2

您可以使用jQuery setTimeout()的计数器。

setTimeout(function() { /* Your Code */ }, 2000); 

(这将做Ajax请求之前等待两秒)

Try in Fiddle

0

使用始于2减1秒后

var counter = 2; 
function decrement() { 
if (--counter == 0) { 
$('#loader').hide(); 
} 
} 
setTimeout(decrement, 1000); 
$.ajax(..., complete: decrement); 
+1

这延迟了加载程序的显示,而不是实际的AJAX。OP似乎想要后者。 –

0

棘手知道正确的解决方案,没有你向我们展示的代码...尝试:

$.ajax({ 
    ..., 
    success: function (image_url) { 
     setTimeout(function() { 
      $('#loading').html('<img src="' + image_url + '" />'); 
     }, 3000); 
    }, 
    ...});