我需要一个简单的JavaScript倒计时脚本来进行测验准备。
以下是我正在使用的代码,但在30分钟后它会递减..
<html>
<head>
<title>Countdown</title>
<script type="text/javascript">
var mins = 30;
var secs = mins * 60;
function countdown() {
setTimeout('Decrement()',1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
setTimeout('Decrement()',1000);
}
}
function getminutes() {
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
return secs-Math.round(mins *60);
}
</script>
</head>
<body>
<div id="timer">
This is only valid for the next <input id="minutes" type="text" style="width: 14px; border: none; background-color:none; font-size: 16px; font-weight: bold;"> minutes and <input id="seconds" type="text" style="width: 26px; border: none; background-color:none; font-size: 16px; font-weight: bold;"> seconds.
</div>
<script>
countdown();
</script>
先谢谢。
答案 0 :(得分:1)
您可以使用setTimeout()函数
setTimeout(function()
{
alert("Hello");
},3000);
这将显示一个弹出式对话框,其中包含&#39; Hello&#39; 3秒后 3000指的是毫秒,所以只需将30分钟转换为毫秒。
花括号中的代码将在达到时间限制后执行。
答案 1 :(得分:1)
简单的谷歌搜索给了我很多例子和lib文件
https://mindgrader.com/tutorials/1-how-to-create-a-simple-javascript-countdown-timer
http://www.gieson.com/Library/projects/utilities/countdown/
http://blog.smalldo.gs/2013/12/create-simple-countdown/
<强>更新强> 纠正了你的js。
var mins = 1;
var secs = mins * 60;
function Decrement() {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
if (secs <= 0 && mins <= 0) {
alert(11);
return;
}
setTimeout(function () {
Decrement()
}, 1000);
}
function getminutes() {
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
return secs - Math.round(mins * 60);
}
function countdown() {
setTimeout(function () {
Decrement()
}, 1000);
}
countdown();
干杯!!
答案 2 :(得分:0)
只需使用setInterval方法并将其设置为1000.(1秒)
每秒增加一个全局值。
var timePassed =0;
...
timePassed++;
如果你达到1800秒,那就是:)
这不是火箭科学,所以你可以自己动手:)
PS:如果您需要刷新页面或转到下一页,请在localStorage或cookie中存储时间。