在网上看到的一个倒计时,稍微改了一下,时间是从后台传过来的,可以防止页面刷新,时间的长短可以灵活设置。
<form name="form" action="../ExamServlet" method="post">
<!-- 时间和日期都是后台生成,放到session中传过来,放到hidden中方便js取 -->
<input type="hidden" name="time" value="<%=session.getAttribute("time").toString() %>">
<input type="hidden" name="date" value="<%=session.getAttribute("date").toString() %>"/>
距离答题结束还有:
<br>
<strong id="RemainH">XX</strong>时<strong id="RemainM">XX</strong >分<strong id="RemainS">XX</strong>秒
</form>
</body>
<script language="JavaScript">
<!-- //
var time = document.form.time.value;
var date = document.form.date.value;
var startTime = new Date(date);
var EndTime=(startTime.getTime()-14*60*60*1000)+time*60*1000;//这个设置倒计时的时间,按毫秒算,也即60*1000就是一分钟
function GetRTime(){
var NowTime = new Date();
var nMS =EndTime - NowTime.getTime();
var nH=Math.floor(nMS/(1000*60*60)) % 24;
var nM=Math.floor(nMS/(1000*60)) % 60;
var nS=Math.floor(nMS/1000) % 60;
if (nH<=0 && nM <=0 && nS <=0) {
alert("时间到了,提交...");
document.form.submit();
}
document.getElementById("RemainH").innerHTML=nH;
document.getElementById("RemainM").innerHTML=nM;
document.getElementById("RemainS").innerHTML=nS;
setTimeout("GetRTime()",1000);
}
window.οnlοad=GetRTime;
// -->
</script>
</html>