Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript计数器-在页面加载时立即实现逗号_Javascript_Counter_Comma - Fatal编程技术网

javascript计数器-在页面加载时立即实现逗号

javascript计数器-在页面加载时立即实现逗号,javascript,counter,comma,Javascript,Counter,Comma,我有一个javascript计数器,它工作得很好,现在添加了逗号,它也可以工作。逗号显示,但仅当计数器递增时才显示。实际上是4个计数器和一个总计数器。3个计数器经常递增,这不是问题,但我需要在页面加载时显示逗号,因为有背景,而不仅仅是当计数器递增时。我认为这与我调用addCommas的位置有关,但如果我用不同的方式调用它,它就无法工作。我将加入一些代码: var crate_msInterval = crate_interval * 1000; crate_count = parseInt((

我有一个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;
}
我希望我说得够清楚了。有什么建议吗? 谢谢

只需在页面加载时调用函数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);

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

Run addCommascrate\u count;用同样的代码。另外,使用setTimeoutfunction{…},crate_msInterval;而不是设置超时,板条箱\u msInterval。。。对于超快的响应,每个人,我只是结束了调用addCommastwice-像这样:var cratet\u msInterval=cratet\u interval*1000;板条箱计数=parseIntnow-开始日期/板条箱间隔*增量+开始值;document.getElementById'crates\u counter'.innerHTML=addCommascrate\u count;SetInterval板条箱计数+=增量;document.getElementById'crate\u counter'.innerHTML=addCommascrate\u count;,板条箱间隔;它很好用。不确定这有多道德,但它是有效的: