2013-02-19 75 views
0

所以我遵循一個非常直接的視頻教程,通過JS在你的網頁上添加一個時鐘。我有完全相同的代碼,但它不適用於我的。有什麼建議麼?謝謝!時鐘不工作?

這是我的代碼:

<body> 

    <div id="clockDisplay">00:00</div> 


<!-- JAVASCRIPT starts here --------------------------------------------------------> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script type="text/javascript" language="JavaScript"> 

$(window).load(function renderTime() { 
    var currentTime = new Date() ; 
    var diem = "AM" ; 
    var h = currentTime.getHours() ; 
    var m = currentTime.getminutes() ; 
    var s = currentTime.getSeconds() ; 

    if (h == 0) { 
     h = 12; 
    } else if (h > 12) { 
    h = h -12; 
    diem = "PM" ; 
    } 
    if (h < 10) { 
     h = "0" + h; 
    } 
    if (m < 10) { 
     m = "0" + m; 
    } 
    if (s < 10) { 
     s = "0" + s; 
    } 

    var myClock = document.getElementyID('clockDisplay'); 
    myClock.textContent = h + ":" + m + ":" + s + " " + diem; 
    setTimeout(renderTime()' ,1000) ; 
}; 
renderTime() ; 

</script> 

<!-- JAVASCRIPT ends here ---------------------------------------------------------> 

</body> 

+0

我不知道爲什麼人們需要jQuery的一個時鐘吳 – C5H8NNaO4 2013-02-19 16:29:18

+0

@ Glutamat然後將不會使用它從dom中選擇... – Ryan 2013-02-19 16:30:01

+0

FYI currentTime.getminutes()應該是currentTime.getMinutes() – 2013-02-19 16:32:29

回答

2

你有一個語法錯誤或者(在你的setTimeout代碼中引用不匹配)。你不應該使用一個字符串作爲setTimeout的第一個參數。

setTimeout(renderTime, 1000); 

如果你把你的JavaScript代碼元素後id="clockDisplay"

function renderTime() { 
    ... 
} 
renderTime(); 

這些都需要隨之改變,你不需要$(window).load()

getElementById() 
getMinutes() 
+0

謝謝,它的工作。而且,我不想這樣說,因爲你真的幫了很多,但我可以在沒有諷刺的情況下使用它。我只爲一個班級做這個,而且我真的很掙扎和絕望。非常感謝你。對不起,聽起來不值得,但我是。祝你有美好的一天。 – 2013-02-19 16:41:58

+0

沒有冒犯,但「學習如何編碼=學習如何調試」 – devnull69 2013-02-19 16:43:24

+0

謝謝,我欣賞它 – 2013-02-19 16:45:01

0

不知道什麼教程你以下,但我會改變這一行:

myClock.textContent = h + ":" + m + ":" + s + " " + diem; 

這樣:

myClock.innerHTML = h + ":" + m + ":" + s + " " + diem; 
+0

它仍然沒有顯示? :/ – 2013-02-19 16:33:42

+0

@RonnaEncarnacion請參閱devnuil的答案我想這是錯誤,但我仍然會進行我推薦的更改。 – Ryan 2013-02-19 16:34:38

0

太多的事情需要解決,這是我的代碼:

<body> 

    <div id="clockDisplay">00:00</div> 


<!-- JAVASCRIPT starts here --------------------------------------------------------> 

<script type="text/javascript" language="JavaScript"> 

function renderTime() { 
    var currentTime = new Date() ; 
    var diem = "AM" ; 
    var h = currentTime.getHours() ; 
    var m = currentTime.getMinutes() ; 
    var s = currentTime.getSeconds() ; 

    if (h == 0) { 
     h = 12; 
    } else if (h > 12) { 
    h = h -12; 
    diem = "PM" ; 
    } 
    if (h < 10) { 
     h = "0" + h; 
    } 
    if (m < 10) { 
     m = "0" + m; 
    } 
    if (s < 10) { 
     s = "0" + s; 
    } 

    var myClock = document.getElementById('clockDisplay'); 
    myClock.textContent = h + ":" + m + ":" + s + " " + diem; 

} 
window.onload = renderTime; 
setInterval(renderTime ,1000) ; 

</script> 

<!-- JAVASCRIPT ends here ---------------------------------------------------------> 

</body> 

要查看細節修正,去那裏:Fixed issues detail link

+0

謝謝。非常感激。 – 2013-02-19 16:50:49