我想寫一個倒數計時器,它從服務器(php)獲取時間,然後在客戶端(JavaScript)倒計時。不幸的是,我只有一些JavaScript或JQuery的經驗。這時腳本是這樣的:使用PHP和JavaScript實現倒數
<?php
$endTime = mktime(00, 00, 00, 01, 01, 2012);
$actTime = time();
$difTime = $endTime - $actTime;
$seconds = $difTime;
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
window.setInterval(function() {
var seconds = $('div#timer').html();
var updateTime = eval(seconds)- eval(1);
$('div#timer').html(updateTime);
}, 1000);
});
</script>
<div id="timer"><?php echo $seconds ?></div>
現在我想剩下的秒轉換爲天,月,分鐘和秒。但是,我不知道如何通過函數 setInterval實現這一點。誰能幫我?也許有更好的方法來處理UNIX-Timestamp?
預先感謝您!
馬丁
請注意,'setInterval()'(和'setTimeout()')不能保證回調將按照您指定的時間間隔執行,所以通常是一個好主意,讓當前時間開啓每次迭代(並根據需要計算與原始服務器指定時間的偏移量)。出於同樣的原因,如果將時間間隔設置爲明顯小於1秒的時間,例如50-100毫秒,那麼通常情況下會獲得更平滑的時鐘。這樣,如果時間間隔稍微延遲,則不會覺得計數器跳得太多。 – nnnnnn 2011-12-21 21:18:16