0

私はjavascriptカウンター(美しく機能します)を持っていて、コンマを追加しました。これも機能します。カンマが表示されますが、カウンターが増加したときにのみ表示されます。実際には4つのカウンターと合計のカウンターです。カウンターの3つは頻繁に増加するため、問題はありませんが、カウンターが増加するときだけでなく、背景があるため、ページの読み込み時にコンマを表示する必要があります。addCommas()を呼び出す場所と関係があると思いますが、別の方法で呼び出すと機能しません。コードの一部を投入します。

var crate_msInterval = crate_interval * 1000;

crate_count = parseInt((now - start_date)/crate_msInterval) * increment + start_value;

document.getElementById('crate_counter').innerHTML = crate_count;
setInterval("crate_count += increment; document.getElementById('crate_counter').innerHTML = addCommas(crate_count);", crate_msInterval);

そして、私が使用しているコンマ関数:

function addCommas(str){
   var arr,int,dec;
   str += '';

   arr = str.split('.');
   int = arr[0] + '';
   dec = arr.length>1?'.'+arr[1]:'';

   return int.replace(/(\d)(?=(\d{3})+$)/g,"$1,") + dec;
}

私は十分に明確になっていると思います。助言がありますか?どうも!

4

2 に答える 2

0

addCommasページの読み込み時に関数を呼び出し、要素 innerHTML を設定するだけです。また、コードを文字列として指定する代わりに、無名関数を setInterval メソッドに渡すこともできます。

var crate_msInterval = crate_interval * 1000;

var crate_count = parseInt((now - start_date)/crate_msInterval) * increment + start_value;

document.getElementById('crate_counter').innerHTML = crate_count;
setInterval(function(){
     crate_count += increment; 
     document.getElementById('crate_counter').innerHTML = addCommas(crate_count);
}, crate_msInterval);

//This will set the initial value formatted with comma's
document.getElementById('crate_counter').innerHTML = addCommas(crate_count);
于 2012-03-04T16:59:49.133 に答える
0

タグには、ページが読み込まれた後に渡された JavaScript を呼び出す onload パラメータを含めることができます。

于 2012-03-04T17:02:12.313 に答える