2013-02-19 151 views
0

我想在我的彈出窗口中調用setInterval函數來更新每秒的時間,但是當它被調用時,我的HTML頁面根本不會更新,只是顯示加載時的初始時間。我看不出我在做這個代碼的錯誤。SetInterval函數調用問題

var currentTime = new Date(); 

window.self.setInterval(
    function() 
    { 
     window.self.document.getElementById("Time").innerHTML = currentTime.toTimeString(); 
    }, 1000); 

任何這種情況發生的原因?

回答

3

currentTime正被設置一次且僅一次。您需要在每個時間間隔創建一個新的Date對象。像這樣的:

setInterval(
    function() 
    { 
    document.getElementById("Time").innerHTML = (new Date()).toTimeString(); 
    }, 
    1000 
); 
+0

是的,這工作。我沒有意識到每次調用它時都需要一個新的Date對象。所以它實際上只是一遍又一遍地調用同一個時間字符串的Date對象。所以它的工作方式並不是我想要的。謝謝,簡直不敢相信那些簡單的事情。 – DeadJ 2013-02-19 21:36:21