所以我在看这个问题(^),我想做同样的事情,只是有点不同。
我需要其中一个从麻木的 $138,276,343 中每秒增加 15.8 美分
最好我希望逗号像正常的美元金额一样。
有什么办法可以让这个工作吗?我难住了。和上面问题的发帖者一样,我对JS的了解不多。
所以我在看这个问题(^),我想做同样的事情,只是有点不同。
我需要其中一个从麻木的 $138,276,343 中每秒增加 15.8 美分
最好我希望逗号像正常的美元金额一样。
有什么办法可以让这个工作吗?我难住了。和上面问题的发帖者一样,我对JS的了解不多。
由于我必须创建自己的格式货币函数,因此我花了很长时间才回答。
现场演示可以在这里找到:http: //jsfiddle.net/dm6LL/
每秒的基本更新非常简单,将通过 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;
}