在網上看到的一個倒計時,稍微改了一下,時間是從後臺傳過來的,可以防止頁面刷新,時間的長短可以靈活設置。
<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>