Javascript JS计数器持续更新

Javascript JS计数器持续更新,javascript,counter,continuous,Javascript,Counter,Continuous,所以我在看这个问题(^),我想做完全相同的事情,只是有点不同 我需要其中的一个,它每秒从138276343美元的麻木价格上升到15.8美分 最好我想有一个正常的美元金额一样的逗号 我有办法让它工作吗?我被难住了。就像上面问题的海报一样,我对JS知识不多。这花了我相当长的时间来回答,因为我必须创建自己的格式货币函数 可以在此处找到现场演示: 每秒的基本更新非常简单,可以通过JavaScript的setInterval命令完成 setInterval(function(){ current

所以我在看这个问题(^),我想做完全相同的事情,只是有点不同

我需要其中的一个,它每秒从138276343美元的麻木价格上升到15.8美分

最好我想有一个正常的美元金额一样的逗号


我有办法让它工作吗?我被难住了。就像上面问题的海报一样,我对JS知识不多。

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

可以在此处找到现场演示:

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

setInterval(function(){
    current += .158;
    update();
},1000);
您在上面代码中看到的
update()
函数只是一个简单的更新程序,它引用一个具有
amount
id的对象,将格式化的当前金额放入页面上的div中

function update() {
    amount.innerText = formatMoney(current);
}
您在
update()
函数中看到的金额和当前值是预定义的:

var amount = document.getElementById('amount');
var current = 138276343;
剩下的就是我的
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;
}​

太棒了!!!!但有一个问题是,有没有办法让它不断更新而不是加载?我需要的数字总是上升,而不是从一开始刷新页面刷新。无论哪种方式,尽管代码非常棒!!!非常感谢!!!您仍然可以在加载时执行此操作,但只需计算当前日期的起始数字。我假设138276343美元的数字是基于一个特定的时间和日期?没错,这个数字是在2012年7月21日计算出来的,从那以后它已经上升到了每秒.158美元——我稍微修改了埃文的演示,以适应这一点:我也修改了我的更多。我的从8月15日开始,此后每秒钟上升0.158。您也可以很容易地编辑开始日期。以下是演示: