5

サイトにライブで永続的な数値カウンターを実装する方法

だから私はこの質問を見ていました(^)少し違うことを除いてまったく同じことをしたいです。

麻痺した $138,276,343 から 1 秒あたり 15.8 セントをカウントアップするこれらの 1 つが必要です

できれば、通常の金額のようにコンマを付けたいと思います。

これを機能させる方法はありますか?私は困惑しています。上記の質問のポスターのように、私はJSの知識があまりありません。

4

1 に答える 1

11

独自のフォーマット通貨関数を作成する必要があったため、これに答えるのにかなりの時間がかかりました。

ライブ デモはこちらにあります: http://jsfiddle.net/dm6LL/

基本的な毎秒の更新は非常に簡単で、JavaScript のsetIntervalコマンドで実行できます。

setInterval(function(){
    current += .158;
    update();
},1000);

上記のコードに表示されている関数は、 id を持つオブジェクトを参照して、書式設定された現在の金額をページの div に入れるupdate()単純なアップデータです。amount

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;
}​
于 2012-08-15T08:28:25.977 に答える