Javascript 如何在倒计时结束后停止计时器 倒计时 //设定分钟数 var-mins=1; //计算秒数(不要更改此值!除非时间以不同的速度进行…) var secs=分钟*60; 函数倒计时(){ setTimeout('Decrement()',1000); } 函数减量(){ if(document.getElementById){ 分钟=document.getElementById(“分钟”); 秒=document.getElementById(“秒”); //如果剩下不到一分钟 如果(秒
在这个java脚本代码中,计时器在时间结束后开始执行,时间在负示例(00-1:30)中。Javascript 如何在倒计时结束后停止计时器 倒计时 //设定分钟数 var-mins=1; //计算秒数(不要更改此值!除非时间以不同的速度进行…) var secs=分钟*60; 函数倒计时(){ setTimeout('Decrement()',1000); } 函数减量(){ if(document.getElementById){ 分钟=document.getElementById(“分钟”); 秒=document.getElementById(“秒”); //如果剩下不到一分钟 如果(秒,javascript,Javascript,在这个java脚本代码中,计时器在时间结束后开始执行,时间在负示例(00-1:30)中。 所以我想在计时器达到00:00时停止计时。当时间完成或提交页面时,它应该发出警报。有几个问题,最大的问题是您正在测试秒,而不是秒。值,因此您总是输入else块。但是,当它达到零时,您也没有条件。这里有一个JSFIDLE可以解决这些问题。使用setInterval()函数而不是setTimeout()。 当您想使用clearInterval()函数停止计时器时 有关上述功能的基本了解,请单击下面的 有两种可能
所以我想在计时器达到00:00时停止计时。当时间完成或提交页面时,它应该发出警报。有几个问题,最大的问题是您正在测试
秒,而不是秒。值,因此您总是输入else块。但是,当它达到零时,您也没有条件。这里有一个JSFIDLE可以解决这些问题。使用setInterval()函数而不是setTimeout()。
当您想使用clearInterval()函数停止计时器时
有关上述功能的基本了解,请单击下面的
有两种可能。一种是使用函数setInterval而不是setTimeout。像这样
<html>
<head>
<title>Countdown</title>
<script type="text/javascript">
// set minutes
var mins = 1;
// calculate the seconds (don't change this! unless time progresses at a different speed for you...)
var secs = mins * 60;
function countdown() {
setTimeout('Decrement()',1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
// if less than a minute remaining
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
setTimeout('Decrement()',1000);
}
}
function getminutes() {
// minutes is seconds divided by 60, rounded down
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
// take mins remaining (as seconds) away from total seconds remaining
return secs-Math.round(mins *60);
}
</script>
</head>
<body>
<div id="timer">
Time Left: 00:<input id="minutes" type="text" style="width: 20px; border: none; background-color:none; font-size: 16px; font-weight: bold;">:<input id="seconds" type="text" style="width: 26px; border: none; background-color:none; font-size: 16px; font-weight: bold;">
</div>
<script>
countdown();
</script>
//设定分钟数
var-mins=1;
//计算秒数(不要更改此值!除非时间以不同的速度进行…)
var secs=分钟*60;
瓣膜间变异;
函数倒计时(){
intervalVar=设置间隔('Decrement()',1000);
}
函数减量(){
if(document.getElementById){
分钟=document.getElementById(“分钟”);
秒=document.getElementById(“秒”);
//如果剩下不到一分钟
如果(秒<59){
秒。值=秒;
}否则{
minutes.value=getminutes();
seconds.value=getseconds();
}
秒--;
如果(秒=0){
窗口清除超时(intervalVar);
警报(“超时”);
}
}
}
函数getminutes(){
//分是秒除以60,四舍五入
分钟=数学楼层(秒/60);
返回分钟;
}
函数getseconds(){
//从总剩余秒数中减去剩余分钟数(以秒计)
返回秒数学轮(分钟*60);
}
您的意思是-->var idx=setTimeout(…);clearTimeout(idx)?提示一下,您可以将setTimeout(或setInterval)写为:setTimeout(funcName,1000);-->无报价
<script type="text/javascript">
// set minutes
var mins = 1;
// calculate the seconds (don't change this! unless time progresses at a different speed for you...)
var secs = mins * 60;
var intervalVar;
function countdown() {
intervalVar = setInterval('Decrement()',1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
// if less than a minute remaining
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
if (secs == 0) {
window.clearTimeout(intervalVar);
alert('timeout');
}
}
}
function getminutes() {
// minutes is seconds divided by 60, rounded down
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
// take mins remaining (as seconds) away from total seconds remaining
return secs-Math.round(mins *60);
}
</script>