2 回答

TA貢獻1801條經(jīng)驗 獲得超16個贊
考慮一個 Promise,它在循環(huán)內(nèi) 1 秒后解析:await
async function tempsJoueur() {
const temps = document.getElementById("time");
for (let val = 30; val >= 0; val--) {
temps.textContent = String(val).padStart(2, '0');
await new Promise(res => setTimeout(res, 100)); // changed to 100 for demo
}
}
tempsJoueur();
<div id="time"></div>

TA貢獻1816條經(jīng)驗 獲得超6個贊
您可以使用如下所示的 setInterval。
setInterval重復(fù)調(diào)用函數(shù)或執(zhí)行代碼片段,每次調(diào)用之間有固定的時間延遲。它返回一個唯一標(biāo)識間隔的間隔 ID,因此您可以稍后通過調(diào)用 clearInterval() 將其刪除
let interval;
let temps = document.getElementById("time");
let time = 10;
function startTimer() {
if (time >= 0) {
temps.textContent = temps.value = (" " + time + " ");
time--;
} else {
clearInterval(interval);
}
}
function tempsJoueur() {
if (interval) {
clearInterval(interval);
}
time = 10;
interval = setInterval(startTimer, 1000)
}
<div id="time"> </div>
<input type="button" value = "start timer" onclick="tempsJoueur()" />
添加回答
舉報