js倒計時,防頁面刷新

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

 

 <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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章