2012-09-08 49 views

回答

6

這應該是相當直接的,只需使用[setInterval][1]做倒計時並提交回發。

<div id="timer"></div> 

<script type='text/javascript'> 
    var start = new Date(); 
    setInterval(function() { 
     // check time elapsed given target time of 10 mins from now 
     var timeLeft = (600000 - (new Date() - start))/1000; 
     // update timer 
     document.getElementById('timer').innerHTML = Math.floor(timeLeft/60) + ":" + Math.floor(timeLeft%60); 

     // check if timer has elapsed, and submit form 
     if (timeLeft > 0) { 
      document.forms[0].submit(); 
     } 
    }, 1000); 
</script> 

編輯每的意見,這是最好的檢查經過的實際時間,而不是依靠的setInterval(這是不完全準確)。

+1

我不會遞減的定時器,而不是計算的開始和結束時間之間的差異。 1000毫秒的間隔將不會是完美的,你會失去/獲得時間... –

+0

@ChrisMoutray是的,非常好的一點。 – McGarnagle

2

您可以使用「window.setTimeout」函數設置提交表單的超時時間。對於倒計時,我建議你使用一個jQuery插件,像這樣的:http://keith-wood.name/countdown.html

乾杯

window.setTimeout(
    function() 
    { 
     $("form")[0] 
     .submit(); 
    }, 
    10000 
);