我的页面上有一个元素,我想不时增加:
<p class="count">28</p>
在我的 javascript 中,我有一个间隔,每 5 秒运行一次,并从服务器异步获取新的(更高的)数字。这有点类似于计数器的功能。
setInterval(function(){
$.post("getcount.php", function(num){
latestNum = num;
});
}, 5000);
如果异步请求拉下数字 56,我希望看到段落文本从 28 变为 56,在增加时显示许多(或大多数)或中间体。我目前正在做的是设置另一个间隔来不断检查段落文本和局部变量。如果段落文本低于变量值,它将增加 1。它每半秒执行一次。
setInterval(function(){
currNum = Number( $(".count").text() );
if (currNum < latestNum)
$(".count").text( currNum + 1 );
}, 50);
我的问题是:有没有更好的方法来做到这一点,而无需不断运行间隔?我可以从异步请求的响应中调用这个动画递增的东西,然后在两个数字的值满足后让它停止吗?我还应该指出,下一个请求可能会在这两个数字的价值被调和之前发生。
你会怎么做这个集体?