繁体   English   中英

JavaScript计数器-如何在同一页面上包含多个计数器?

[英]javascript counter - how to include more than one counter on the same page?

有人可以帮我在一个页面内实现两个JavaScript计数器吗? 我目前正在启动并运行计数器,但是当我尝试为另一个计数器创建新的div时,原始计数器消失,仅显示一个计数器。 这是我的第一篇文章,因此请原谅任何混乱的格式。 我将不胜感激任何帮助,我对javascript很陌生。 谢谢!

这是我的代码:

<div id="counter"></div>
<div id="counter1"></div>


<script type="text/javascript">
var START_DATE = new Date("July 27, 2010 13:30:00"); // put in the starting date here
var INTERVAL = 1; // in seconds
var INCREMENT = 2; // increase per tick
var START_VALUE = 9001; // initial value when it's the start date
var count = 0;

window.onload = function()
{
var msInterval = INTERVAL * 1000;
var now = new Date();
count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
document.getElementById('counter').innerHTML = addCommas(count);
setInterval("count += INCREMENT; document.getElementById('counter').innerHTML = 
addCommas(count);", msInterval);
}
</script>


<script type="text/javascript">
var START_DATE = new Date("July 27, 2011 13:30:00"); // put in the starting date here
var INTERVAL = 1; // in seconds
var INCREMENT = 2; // increase per tick
var START_VALUE = 8001; // initial value when it's the start date
var count = 0;

window.onload = function()
{
var msInterval = INTERVAL * 1000;
var now = new Date();
count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
document.getElementById('counter1').innerHTML = addCommas(count);
setInterval("count += INCREMENT; document.getElementById('counter1').innerHTML =   
addCommas(count);", msInterval);
}
</script>


<script type="text/javascript">
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
</script>

您不能有两个window.onload脚本,最后一个将覆盖第一个。

只需重复使用相同的代码,然后将下一个计数器添加到下一个div中即可。

window.onload = function()
{
    var msInterval = INTERVAL * 1000;
    var now = new Date();
    count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
    document.getElementById('counter').innerHTML = addCommas(count);
    setInterval("count += INCREMENT; document.getElementById('counter').innerHTML = addCommas(count);", msInterval);
    document.getElementById('counter1').innerHTML = addCommas(count);
    setInterval("document.getElementById('counter1').innerHTML =  addCommas(count);", msInterval);
}

编辑:递增计数仅一次,否则第二个计数器总是在第一个计数器之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM