2012-11-09 46 views
0
jQuery(document).ready(function() { 
function updateTime() { 
    $("#wtime").append('<p>Wacht nog: <?php echo $wait_time; ?></p> '); 
} 

updateTime(); 
setInterval(updateTime, 1000); }); 

我想更新的股利#wtime每秒現在它只顯示時間,而不是更新它jQuery的更新時間

+1

只有在用戶未請求頁面時,纔有權訪問服務器的時間。您應該使用JavaScript日期函數更新時間。 – undefined

+0

1. PHP代碼只能在開始時運行一次。 2.爲什麼要調用updateTime兩次。 – Dev

回答

2

您必須從服務器獲得的時間解析成一個javascript Date()對象然後每秒增加一次。

這裏有一個工作fiddle

// Make sure $wait_time has a valid format so that Date() can parse it. 
// var serverTime = new Date('<?php echo $wait_time; ?>'); 
var serverTime = new Date(); 

function updateTime() { 
    /// Increment serverTime by 1 second and update the html for '#time' 
    serverTime = new Date(serverTime.getTime() + 1000); 
    $('#time').html(serverTime.toGMTString()); 
} 

$(function() { 
    updateTime(); 
    setInterval(updateTime, 1000); 
});​ 

相關HTML:

<div id="wtime"> 
    <p>Wacht nog: <span id="time"></span></p>   
</div>​ 

希望它能幫助。

+0

我在函數updateTime中聲明瞭最初的var serverTime以與src =「http://code.jquery.com/jquery-1.10.1.min.js」一起工作,我可以讓setInterval完成這項工作。 setInterval(updateTime,1000);不需要額外的功能。 toGMTString()和getTime()也沒有區別。 –

0

我的小測試。

<!DOCTYPE html> 
    <head> 
    <html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
    function updateTime() { 
    var currtime = new Date(); 
    var currtime1 = new Date(currtime.getTime()); 
    var currtime2 = new Date(currtime.toGMTString()); 
    var currtime3 = (currtime.getHours() + ":"+ currtime.getMinutes() + ":" + currtime.getSeconds()); 
    $('#1').html(currtime1); 
    $('#2').html(currtime2); 
    $('#3').html(currtime3);  
    } 
    setInterval(updateTime, 1000); // 1000 miliseconds 
    }); 
    </script> 
    </head> 
    <body> 
    <h1> 
    <b> 
    <div id="1">The Current time is: </div> 
    </br> 
    <div id="2">The Current time is: </div> 
    </br> 
    <div id="3">The Current time is: </div> 
    </b> 
    </h1> 
    </body> 
    </html>