2
How to implement a live and persistent number counter on a siteJS計數器不斷更新
所以我一直在尋找這個問題(^),我想要做同樣的事情,除了有一點不同。
我需要這些計數達每秒15.8美分麻木$ 138276343
最好我想有像一個正常的金額逗號之一。
無論如何,我能得到這個工作?我很難過。就像上面這個問題的海報一樣,我沒有太多的JS知識。
How to implement a live and persistent number counter on a siteJS計數器不斷更新
所以我一直在尋找這個問題(^),我想要做同樣的事情,除了有一點不同。
我需要這些計數達每秒15.8美分麻木$ 138276343
最好我想有像一個正常的金額逗號之一。
無論如何,我能得到這個工作?我很難過。就像上面這個問題的海報一樣,我沒有太多的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;
}
這是真棒!!!!有一個問題,有沒有辦法讓它不斷更新而不是上傳?每次頁面刷新時,我都需要編號始終上升,而不是從頭開始刷新。無論哪種方式,雖然代碼是真棒!非常感謝!!! – user1600005 2012-08-15 08:32:31
你仍然可以做onload,但只是計算應該給出當前日期的起始數字。我認爲138,276,343美元是根據特定的時間和日期計算的? – 2012-08-15 08:36:35
正確,計算在2012年7月21日這一數字從那時起 – user1600005 2012-08-15 08:41:10