анимировать результат jQuery ajax - PullRequest
0 голосов
/ 05 марта 2012

Как я могу сделать анимацию jQuery, когда ajax получает новый вход (через тайм-аут - обновление без обновления )? GetAVG.php возвращает среднее значение поля базы данных. Пример страницы

Код:

(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
    });
})();

1 Ответ

2 голосов
/ 05 марта 2012

Я думаю, что ваш вопрос в том, как повторять вызов 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
  });
}
...