我已經環視了一下,但還沒有找到答案。如果Ajax請求過快,jQuery動畫無法正常工作
我有一個ajax請求,當你點擊按鈕它發送信息到服務器,並隱藏當前div並加載加載gif。我已經設置,所以當服務器響應它擺脫加載gif並顯示從服務器的內容。
代碼:
$("#submit").click(function(e){
e.preventDefault();
var $domain = $.fn.HTTP($('#domain').val());
if(!$.fn.ValidURL($domain)){
$('#domainerror').fadeIn(500);
return false;
}
if($('#domainerror').css('display')!=='none'){
$('#domainerror').fadeOut(350);
}
$('#question').hide(500, function(){
$('#waiting').show(350);
});
$.getJSON('http://localhost/file.php',
{
i: $domain
},
function(data){
$('#answer').html(data.message + $('#trybutton').html());
$('#waiting').hide(350, function(){
$('#answer').show(350);
});
});
});
的問題是jQuery的從服務器接收過快,加載GIF不會消失的響應。
但是,如果我告訴服務器休眠3秒,它工作得很好。這不是我想要的解決方案。
任何想法?
「但是,如果我告訴服務器休眠3秒鐘,它工作得很好」這聽起來像那裏的解決方案 –
編輯我的問題。這不是我想要的解決方案。如果它可以立即就很好。我正在嘗試針對移動連接上的用戶進行優化,因此加載欄非常適合。我並不是故意要讓用戶不得不等待3秒才能得到答案。 – Peter
如果迴應馬上回來,那有什麼問題?如果用戶沒有等很長時間,爲什麼還需要顯示「加載」圖片? – Pointy