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

在您的标签中,您可以有一个 onload 参数,该参数会在页面加载后调用传递给它的 javascript。

于 2012-03-04T17:02:12.313 回答