如何创建 javascript 倒计时?
How to create javascript countdown?
我想创建一个 javascript 实时倒计时。几乎就像统计网站一样。
enter image description here
我已经创建了 html 文件,但我不擅长 javascript 所以我需要你的帮助。
<table>
<tbody><tr><td class="counter"><div id="cp1">7,795,022,199</div></td>
<td class="data_name"><b>Current population</b></td></tr>
<tr><td class="counter"><div id="cp2">3,931,870,264</div></td>
<td class="data_name">Current male population <span id="cp4">(50.4%)</span></td></tr>
<tr><td class="counter"><div id="cp3">3,863,151,936</div></td>
<td class="data_name">Current female population <span id="cp5">(49.6%)</span></td></tr>
<tr><td class="counter"><div id="cp6">52,128,438</div></td>
<td class="data_name">Births year to date</td></tr>
<tr><td class="counter"><div id="cp7">406,110</div></td>
<td class="data_name">Births today</td></tr>
<tr><td class="counter"><div id="cp8">20,311,076</div></td>
<td class="data_name">Deaths year to date</td></tr>
<tr><td class="counter"><div id="cp9">158,235</div></td>
<td class="data_name">Deaths today</td></tr>
<tr><td class="counter"><div id="cp10">0</div></td>
<td class="data_name">Net migration year to date</td></tr>
<tr><td class="counter"><div id="cp11">0</div></td>
<td class="data_name">Net migration today</td></tr>
<tr><td class="counter"><div id="cp12">31,817,362</div></td>
<td class="data_name">Population growth year to date</td></tr>
<tr><td class="counter"><div id="cp13">247,875</div></td>
<td class="data_name">Population growth today</td></tr>
</tbody></table>
我需要设置一个时间间隔,数字会自动统计。比如一秒钟。我怎样才能做到这一点?
我想在我的 WordPress 博客中使用它。
假设您有 count
function
。在这种情况下,您可以使用
每秒执行一次 function
setInterval(count, 1000);
现在,您需要定义 count
,如下所示:
function count() {
var items = document.querySelectorAll(".counter > div");
for (let item of items) item.innerText = (parseInt(item.innerText.replace(/,/g, '')) - 1).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
编辑
如果你想在不同的时间间隔进行,那么你可以做类似的事情
function count(item) {
item.innerText = (parseInt(item.innerText.replace(/,/g, '')) - 1).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
然后
setInterval(function() {
count(document.getElementById("cp1"));
}, 1000);
setInterval(function() {
count(document.getElementById("cp2"));
}, 6000);
你当然可以使用自己的逻辑来定义时间,上面的代码只是一个例子。
我想创建一个 javascript 实时倒计时。几乎就像统计网站一样。 enter image description here
我已经创建了 html 文件,但我不擅长 javascript 所以我需要你的帮助。
<table>
<tbody><tr><td class="counter"><div id="cp1">7,795,022,199</div></td>
<td class="data_name"><b>Current population</b></td></tr>
<tr><td class="counter"><div id="cp2">3,931,870,264</div></td>
<td class="data_name">Current male population <span id="cp4">(50.4%)</span></td></tr>
<tr><td class="counter"><div id="cp3">3,863,151,936</div></td>
<td class="data_name">Current female population <span id="cp5">(49.6%)</span></td></tr>
<tr><td class="counter"><div id="cp6">52,128,438</div></td>
<td class="data_name">Births year to date</td></tr>
<tr><td class="counter"><div id="cp7">406,110</div></td>
<td class="data_name">Births today</td></tr>
<tr><td class="counter"><div id="cp8">20,311,076</div></td>
<td class="data_name">Deaths year to date</td></tr>
<tr><td class="counter"><div id="cp9">158,235</div></td>
<td class="data_name">Deaths today</td></tr>
<tr><td class="counter"><div id="cp10">0</div></td>
<td class="data_name">Net migration year to date</td></tr>
<tr><td class="counter"><div id="cp11">0</div></td>
<td class="data_name">Net migration today</td></tr>
<tr><td class="counter"><div id="cp12">31,817,362</div></td>
<td class="data_name">Population growth year to date</td></tr>
<tr><td class="counter"><div id="cp13">247,875</div></td>
<td class="data_name">Population growth today</td></tr>
</tbody></table>
我需要设置一个时间间隔,数字会自动统计。比如一秒钟。我怎样才能做到这一点? 我想在我的 WordPress 博客中使用它。
假设您有 count
function
。在这种情况下,您可以使用
function
setInterval(count, 1000);
现在,您需要定义 count
,如下所示:
function count() {
var items = document.querySelectorAll(".counter > div");
for (let item of items) item.innerText = (parseInt(item.innerText.replace(/,/g, '')) - 1).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
编辑
如果你想在不同的时间间隔进行,那么你可以做类似的事情
function count(item) {
item.innerText = (parseInt(item.innerText.replace(/,/g, '')) - 1).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
然后
setInterval(function() {
count(document.getElementById("cp1"));
}, 1000);
setInterval(function() {
count(document.getElementById("cp2"));
}, 6000);
你当然可以使用自己的逻辑来定义时间,上面的代码只是一个例子。