약간 둘러 보았지만 아직 답변을 찾지 못했습니다.Ajax 요청이 너무 빠르면 jQuery 애니메이션이 제대로 작동하지 않습니다.
버튼을 클릭하면 정보가 서버로 전송되고 현재 div가 숨겨지고로드되는 gif가로드된다는 Ajax 요청이 있습니다. 서버가 응답 할 때 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