2012-03-05 5 views
0

아약스가 새로운 입력을 얻을 때 jQuery 애니메이션을 만들 수 있나요? 새로 고침없이 업데이트 (없이)? getAVG.php는 데이터베이스 필드의 avarage를 반환합니다. Example pagejQuery 아약스 결과 애니메이션

코드 :

(function(){ 
    var avg; 
    $.ajax({ 
     type: "POST", 
     url: "getAVG.php", 
     error: function(data){ 
      avg = data; 
      $('#kriips').animate({ 
       'left': avg*50 
      }); 
      console.log("error: "+avg); 
     }, 
     success: function(data){ 
      //alert(data); 
      avg = data; 
      $('#kriips').animate({ 
       'left': avg*50 
      }); 
      console.log("suc: "+avg); 
      //css('left',avg*50).animate(); 
     }, 
     timeout: 1000 
    }); 
})(); 
+0

avg = parseInt (data, 10); 성공 콜백 내부. –

+0

아니요! 그냥 반올림 해! 새로 고침없이 업데이트해야합니다. – Algeron

+0

애니메이션이 작동하지 않는 문제가 무엇인지 분명하지 않습니다. – charlietfl

답변

2

나는 귀하의 질문에 전체 페이지를 새로 고침없이 모든 초 아약스 호출을 반복하는 방법을 생각합니다. 그렇다면 함수의 이름을 지정하고 setTimeout을 사용하여 성공 또는 오류시 호출하십시오.

function myfunction(){ 
    var avg; 
    $.ajax({ 
    type: "POST", 
    url: "getAVG.php", 
    error: function(XMLHttpRequest, textStatus, errorThrown){ 
     //your ajax request will not return the data on an error... 
     console.log("error: "+errorThrown); 
     setTimeout(function(){myfunction(); },1000); 
    }, 
    success: function(data){ 
     //alert(data); 
     avg = data; 
     $('#kriips').animate({ 
      'left': avg*50 
     }); 
     console.log("suc: "+avg); 
     //css('left',avg*50).animate(); 
     setTimeout(function(){myfunction(); },1000); 
    }, 
    timeout: 1000 
    }); 
}