JS计数器不断更新

use*_*005 4 javascript counter continuous

如何在站点上实现实时和持久数字计数器

所以我在看这个问题(^),我想做同样的事情,除了一点点不同.

我需要其中一个从麻木的138,276,343美元起每秒15.8美分

我希望逗号像正常的金额一样.

我能用这种方式工作吗?我很难过.就像上面问题的海报一样,我没有太多的JS知识.

Eva*_*edy 10

这花了我很长时间才回答,因为我必须创建自己的格式货币函数.

现场演示可以在这里找到:http://jsfiddle.net/dm6LL/

每秒的基本更新非常简单,将通过JavaScript setInterval命令完成.

setInterval(function(){
    current += .158;
    update();
},1000);
Run Code Online (Sandbox Code Playgroud)

update()您在上面的代码中看到的函数只是一个简单的更新程序,它引用一个带有amountid 的对象,将格式化的当前数量放入页面上的div中.

function update() {
    amount.innerText = formatMoney(current);
}
Run Code Online (Sandbox Code Playgroud)

您在update()函数中看到的金额和当前是预定义的:

var amount = document.getElementById('amount');
var current = 138276343;
Run Code Online (Sandbox Code Playgroud)

然后剩下的就是我的formatMoney()函数,它接受一个数字并将其转换为货币字符串.

function formatMoney(amount) {
    var dollars = Math.floor(amount).toString().split('');
    var cents = (Math.round((amount%1)*100)/100).toString().split('.')[1];
    if(typeof cents == 'undefined'){
        cents = '00';
    }else if(cents.length == 1){
        cents = cents + '0';
    }
    var str = '';
    for(i=dollars.length-1; i>=0; i--){
        str += dollars.splice(0,1);
        if(i%3 == 0 && i != 0) str += ',';
    }
    return '$' + str + '.' + cents;
}?
Run Code Online (Sandbox Code Playgroud)