【问题标题】:animate jQuery ajax result动画 jQuery ajax 结果
【发布时间】:2012-03-05 19:07:09
【问题描述】:

当 ajax 获得新输入时(通过超时 - 更新而不刷新),如何使 jQuery 动画? getAVG.php 返回数据库字段的平均值。 Example page

代码:

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

【问题讨论】:

  • 试试 avg = parseInt(data, 10);在成功回调中。
  • 不!这只是四舍五入!我需要更新它而不刷新。
  • 甚至不清楚是什么问题......动画似乎工作

标签: jquery ajax jquery-animate


【解决方案1】:

我认为您的问题是如何在不刷新整个页面的情况下每秒重复一次 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
  });
}

【讨论】:

    猜你喜欢
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多