Javascript 如何获得平滑的计数器动画

Javascript 如何获得平滑的计数器动画,javascript,jquery,animation,counter,Javascript,Jquery,Animation,Counter,我应该显示一个动画计数器。理想情况下,应该有一个数字变化的连续动画。情况如下: 我每分钟都得到一个新值 计数器应显示真实值(无假值) 有些时候,价值没有变化 有时计数器旋转得更快,有时更慢(取决于值的变化) 我的想法是使用最后两个值并在它们之间设置动画。根据差异,速度必须改变。但是我没有找到一个计数器,可以在之后改变速度。或者你有别的想法吗 其他有柜台的网站是怎么做的?它们是假的吗 编辑: 我尝试了不同的计数器-目前我正在使用。我目前的代码库是: var counter = $('.coun

我应该显示一个动画计数器。理想情况下,应该有一个数字变化的连续动画。情况如下:

  • 我每分钟都得到一个新值
  • 计数器应显示真实值(无假值)
  • 有些时候,价值没有变化
  • 有时计数器旋转得更快,有时更慢(取决于值的变化)
我的想法是使用最后两个值并在它们之间设置动画。根据差异,速度必须改变。但是我没有找到一个计数器,可以在之后改变速度。或者你有别的想法吗

其他有柜台的网站是怎么做的?它们是假的吗

编辑:

我尝试了不同的计数器-目前我正在使用。我目前的代码库是:

var counter = $('.counter').jOdometer({
    counterStart: '0',
    numbersImage: '/img/jodometer-numbers-24pt.png', 
    widthNumber: 32,
    heightNumber: 54,
    spaceNumbers: 0, 
    offsetRight:-10,
    speed:10000,
    delayTime: 300,
    maxDigits: 10,
});

function update_odometer() { 
    var jqxhr = $.getJSON("/number.php?jsonp=?")
        .done(function(data){
            console.log(data);
            total = data['Total'];
            counter.goToNumber(total);
        })
        .fail(function(data){
            console.log(data);
        });
};

update_odometer();
setInterval(update_odometer, 60000);
计数器当前从零计数到我的数字,但我想改变这种行为(从下一个值到最后一个值计数-但我的AJAX调用有问题)。如果需要,我也可以更改库。我查看了jquery.jodometer.js,也许我让它能够创建一个函数,动态地改变
速度

但是我没有附加代码的原因是我在代码后面搜索编程过程。有可能得到这样一个实时计数器吗?这个过程看起来怎么样

解决方案:
设置速度可以解决问题,因为库为我制作动画:

速度:60000


您只需将动画的速度与更新间隔相匹配。

从当前值到要更新的值的简单for循环应该可以解决您的问题

在完成的函数中

for(var i=current_odo_value; i<=data['Total']; i++) {
    counter.goToNumber(i);
}

用于(var i=当前的_odo_值;我不是投否决票的人。但是你说的这个计数器是什么?请添加一点代码或图片来说明应该做什么。不是downvoter,但你没有包含任何代码,也没有任何可行的示例。谢谢你的回答。我添加了一些代码。不知道一个工作示例是否有帮助。我无法给出答案访问实时数据。我只能创建一个带有两个样本值的示例。你需要吗?这比我想象的要简单得多。我将速度设置为一分钟,这就解决了我的问题。我唯一注意到的是,当计数器运行太长时,数字会变得难看。我切换到另一个计数器,但这里的舍入产生了问题(但那是另一个故事)。