我有一个给出时间限制的游戏,我需要为用户显示一个倒计时时钟,并在时间结束后停止游戏,例如30秒。我怎么能在javascript中做到这一点?
答案 0 :(得分:17)
使用setInterval
设置计时器。在此计时器中,您可以更新页面中的某些文本,当时间到了,您可以调用所需的任何功能:
var timeLeft = 30;
var elem = document.getElementById('some_div');
var timerId = setInterval(countdown, 1000);
function countdown() {
if (timeLeft == 0) {
clearTimeout(timerId);
doSomething();
} else {
elem.innerHTML = timeLeft + ' seconds remaining';
timeLeft--;
}
}
<div id="some_div">
</div>
答案 1 :(得分:2)
结帐setTimeout
和setInterval
:
http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
答案 2 :(得分:1)
您可以使用let timeElm = document.getElementById('timeElm');
let timer = function(x) {
if(x === 0) {
return;
}
timeElm.innerHTML = x;
return setTimeout(() => {timer(--x)}, 1000)
}
timer(30);
函数,例如:-
setTimeout()
在这种情况下,我们使用递归并为1000ms
赋予了public Async Task<bool> pushToDBAsync(.....)
{
return await _database.pushToDBAsync(.....);
}
来减少时间。