2012-03-05 51 views
0

當ajax獲得新輸入時(通過超時 - 更新而不更新),我該如何讓jQuery動畫化? getAVG.php返回數據庫字段的平均值。 Example page動畫jQuery ajax結果

代碼:

(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

嘗試平均= parseInt函數(數據,10);在成功回調裏面。 – 2012-03-05 19:12:49

+0

不!這只是把它湊到一起!我需要更新它而不刷新。 – Algeron 2012-03-05 19:21:43

+0

甚至不清楚是什麼問題...動畫似乎工作 – charlietfl 2012-03-05 19:37:13

回答

2

我覺得你的問題是如何重複Ajax調用每秒,而無需刷新整個頁面。如果是這樣,只是名稱的功能,並調用它的成功或錯誤使用的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 
    }); 
}