gpt4 book ai didi

javascript - 当定时器到0时如何执行一些代码?

转载 作者:行者123 更新时间:2023-12-03 12:11:49 25 4
gpt4 key购买 nike

我有一个从 10 分钟倒数到 0 的计时器。我现在需要它做的是当它达到 0 时发出警报('你已经完成')?我尝试将 if (mins == 0alert('hi')); 添加到 Decrement() 函数,但没有任何结果。

<!DOCTYPE html>
<html>
<head>

<link href='http://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet' type='text/css'>
<link rel="icon" type="image/ico" href="favicon.ico">

<title>SAGGY</title>

</head>

<body>

<script>
var mins = 10; //Set the number of minutes you need
var secs = mins * 60;
var currentSeconds = 0;
var currentMinutes = 0;
setTimeout('Decrement()',1000);

function Decrement() {
currentMinutes = Math.floor(secs / 60);
currentSeconds = secs % 60;
if(currentSeconds <= 9) currentSeconds = "0" + currentSeconds;
secs--;
document.getElementById("timerText").innerHTML = currentMinutes + ":" + currentSeconds; //Set the element id you need the time put into.
if(secs !== -1) setTimeout('Decrement()',1000);
}

</script>

<h1 id="title">
START THE TIMER
</h1>

<button onclick="Decrement()">GO!</button>

<h2 id="timerText">######</h2>

<br/>

<textarea rows="15" cols="60" id="text">

</textarea>

<h2 id="finish" class="finish">Copyright BibBoy &#174 2014 #ImYourMum</h2>

</body>
</html>

最佳答案

您可以重复使用已有的条件:

if (secs !== -1) {
setTimeout('Decrement()',1000);
// or better:
// setTimeout(Decrement, 1000);
} else {
alert('you\'re done');
}

另请注意,您不需要使用传递给 setTimeout() 的字符串 - setTimeout(Decrement, 1000); 就可以正常工作。

这是JSFiddle demo调整后,计时器从 5 秒开始倒计时,而不是 10 分钟。

我的另一个注意事项是,按照惯例,人们通常使用小写函数名称。首字母大写的函数名称通常用于表示构造函数。

关于javascript - 当定时器到0时如何执行一些代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24935049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com