2012-08-15 21 views

回答

8

這花了我相當長的時間來回答,因爲我不得不創建我自己的格式的貨幣功能。

現場演示可以在這裏找到: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; 
}​ 
+0

這是真棒!!!!有一個問題,有沒有辦法讓它不斷更新而不是上傳?每次頁面刷新時,我都需要編號始終上升,而不是從頭開始刷新。無論哪種方式,雖然代碼是真棒!非常感謝!!! – user1600005 2012-08-15 08:32:31

+0

你仍然可以做onload,但只是計算應該給出當前日期的起始數字。我認爲138,276,343美元是根據特定的時間和日期計算的? – 2012-08-15 08:36:35

+0

正確,計算在2012年7月21日這一數字從那時起 – user1600005 2012-08-15 08:41:10