使用ajax检索mysql数据然后进行操作

时间:2013-05-10 21:29:05

标签: php jquery ajax

我的问题在本网站上有部分解决方案,但不是完整的答案。

在我的wordpress主页上,我显示了一个在我们的webapp中回答的问题数量的计数器。这是使用jQuery和AJAX显示从php文件中检索问题计数,并且可以正常使用此代码。

jQuery(document).ready(function() {
function load() {
jQuery.get('/question_count.php', function(data) {jQuery('#p1').html( data );  });
}
load();
setInterval(load,10000);
});

有没有办法显示计数到找到的新数字而不是立即显示它?

2 个答案:

答案 0 :(得分:0)

这样的东西?

function countTo(n) {
    var p = $("#p1"),
        c = parseInt(p.html(), 10) || 0,
        dir = (c > n ? -1 : 1);    // count up or down?

    if (c != n) {
        p.html((c + dir) + "");

        setTimeout(function() {
            countTo(n);
        }, 500);
    }
}

在成功处理程序中调用它

jQuery.get('/question_count.php', function(data) {
    var n = parseInt(data, 10);

    countTo(n);
});

Example

答案 1 :(得分:0)

您需要执行setInterval事件,以便人眼可以看到计数。 如果你最终得到足够的问题,计数需要很长时间才能达到目的,这可能会成为一个问题。

代码将如下所示:

function load(){
   jQuery.get('/question_count.php', function(data){
      var curr = 0;
      var max = parseInt(data);
      var interval = setInterval(function(){
        if(curr==max){
           clearInterval(interval);
        }
        jQuery('#p1').html( curr );
        curr+=1; //<-- if the number of questions gets very large, increase this number
      },
      10 //<-- modify this to change how fast it updates
      });
   }
}