我的问题在本网站上有部分解决方案,但不是完整的答案。
在我的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);
});
有没有办法显示计数到找到的新数字而不是立即显示它?
答案 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);
});
答案 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
});
}
}