使用这种代码结构,如何以1秒的间隔减少用户插入的数字作为秒表。我已经创建了这个脚本,但是没有得到必要的结果。哪个代码是问题?
var seconds = prompt();
setInterval(function () {
for (var i = seconds; i>0; i--){
console.log(i)
}
},1000);
<p id="result"></p>
答案 0 :(得分:3)
您可以使用一个函数来检查该值并退出计时器间隔。
它分为两个部分,首先设置一个间隔,然后清除该间隔。
在回调内部显示值并减小它。然后检查该值是否小于零,并在这种情况下清除间隔。
您不需要在回调内部进行for
循环,因为您只想显示一个值。
var seconds = +prompt(),
interval = setInterval(function () {
document.getElementById('result').innerHTML = seconds;
if (--seconds < 0) clearInterval(interval);
}, 1000);
<p id="result"></p>
答案 1 :(得分:1)
设置值:document.getElementById(“ result”)。innerHTML =秒;
,然后以clearInterval(stopWatch);
结尾<script>
var seconds = prompt();
var stopWatch = setInterval(function() {
if(seconds <=0){
clearInterval(stopWatch);
return;
}
document.getElementById("result").innerHTML = seconds;
seconds--;
}, 1000);
<p id="result"></p>