[英]Why does function not run?
我有一個 div,它具有 html 代碼,可以在用戶玩游戲時顯示時鍾,如下所示。
<td onclick="showClock()" id="clockSection">DAY 1</td>
我想讓時間更新(例如,從“第 1 天”變成“第 1 天”或“第 2 天”)會在每次滿足條件時更新。
我為此創建了一個函數updateClock()
,它按預期正常工作。
function updateTime() {
if (minutes >= 60) {
minutes -= 60
hours += 1
updateTime()
} else if (minutes >= 10) {
minutesDisplay = minutes
} else {
minutesDisplay = "0" + minutes
}
if (hours >= 13) {
hours -= 12
if (dayHalf === "am") {
dayHalf = "pm"
} else {
dayCount += 1
dayHalf = "am"
var clockDisplay = document.getElementById("clockSection")
clockDisplay.innerHTML = displayTime
}
}
if (hours > 6 && dayHalf === "pm") {
timeEstimate = "Night"
displayTime = timeEstimate + " " + dayCount
} else if (hours < 7 && dayHalf === "am") {
timeEstimate = "Night"
displayTime = timeEstimate + " " + dayCount
} else {
timeEstimate = "Day"
displayTime = timeEstimate + " " + dayCount
}
if (displayTime !== timeEstimate + " " + dayCount) {
clock.innerHTML = displayTime
}
clock.innerHTML = displayTime
}
不幸的是,當我想叫updateClock()
我的其他功能內beginGame()
它開始了整場比賽,如下圖所示),整個beginGame()函數沒有運行。
function beginGame(){
updateTime()
...
//the rest of my code, which when tested without the above updateTime() has NO PROBLEMS.
}
我嘗試運行它並在兩個函數中設置斷點,結果它們甚至都沒有運行。 但是,當我從beginGame()
取出updateTime()
或取出最后一個clock.innerHTML = displayTime
它可以正常運行(不幸的是,結果不是我想要的)。 為什么會這樣? 我很確定我在某處犯了一些語法錯誤,但無法發現它。 謝謝。
完整程序的演示位於 tdat.byethost10.com。 (工作版本應該在輸入“開始”后開始游戲,就像在 tdat.mygamesonline.org)或者,這里是一個工作版本的意思(為凌亂的 HTML 道歉)
好的。 我終於解決了這個問題。 這似乎是一個輕微的拼寫錯誤,如果您查看 JSFiddle,您會發現它。 在beginGame()
函數中,我將 id 設為“clock”而不是“clockDisplay”。 感謝您的嘗試,伙計們! 對此,我真的非常感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.