2

我从Joss Crowcroft 的解决方案中找到了这段代码,可能与这个问题类似jquery-animate-decimal-number-increment-decrement TS has made the example on jsfiddle example

jQuery({someValue: 0}).animate({someValue: 110}, {
duration: 1000,
easing:'swing', // can be anything
step: function() { // called on every step
    // Update the element's text with rounded-up value:
    $('#el').text(Math.ceil(this.someValue) + "%");
}});

但我的问题有所不同,当我将结尾 someValue 110 更改为 1000000 或数百万等大数字时。动画数字的结尾不再和 someValue 的结尾一样精确,有时它可能会在 999876 或低于 1000000 的情况下结束。我怎样才能让它完全像 endValue 一样结束动画数字?

4

1 回答 1

1

您可以提供一个在动画结束时调用的done函数,就像Orbling建议的那样:

$({numberValue: currentNumber}).animate({numberValue: 1000000}, {
    duration: 8000,
    easing: 'linear',
    step: function () { 
        $('#dynamic-number').text(Math.ceil(this.numberValue)); 
    },
    done: function () {
        $('#dynamic-number').text(Math.ceil(this.numberValue));
    }
});

工作小提琴:http: //jsfiddle.net/WZC4F/

于 2013-08-12T21:41:52.737 回答