带小数位的Javascript计数器

时间:2015-07-29 16:37:32

标签: javascript jquery

我有一个jsfiddle here

这是一个简单的javascript函数,最多可以计算一个数字。

是否可以进行此计数,但也有一个小数位

所以它数1.1,1.2,1.3等。

    function startCounter(){
        $('.counter').each(function (index) {
            $(this).prop('Counter',0).animate({
                Counter: $(this).text()
            }, {
                duration: 2000,
                easing: 'swing',
                step: function (now) {
                    $(this).text(Math.ceil(now));
                }
            });
        });
    }   

    startCounter();

3 个答案:

答案 0 :(得分:9)

更新

使用.split()检查尾数的大小。

var size = $(this).text().split(".")[1] ? $(this).text().split(".")[1].length : 0;

然后使用它来估计像这样的.toFixed()大小

$(this).text(parseFloat(now).toFixed(size));

以下是更新的演示 https://jsfiddle.net/dhirajbodicherla/wmaftobx/13/

而不是Math.ceil(now)使用.toFixed(1)这样的

parseFloat(now).toFixed(1)

以下是更新的演示 https://jsfiddle.net/wmaftobx/6/

答案 1 :(得分:3)

这就是我所做的:将$(this).text(Math.ceil(now))替换为$(this).text(Math.ceil(now)/10),将Counter: $(this).text()替换为Counter: $(this).text()*10。它将增加十分之一。对于每个额外的小数位,除以或乘以10.

答案 2 :(得分:3)

更改一行..

$(this).text(Math.ceil(now));

$(this).text(Math.round( now * 10 ) / 10);

Here is a fiddle with the updated code