我有一个div,其中包含用户在玩游戏时显示时钟的html代码,如下所示。
<td onclick="showClock()" id="clockSection">DAY 1</td>
我想让时间更新(例如从&#34;第1天和第34天;它变成&#34;第1天和第34天;或者#34;第2天和第34天;)每次满足条件时都会更新。
我为此创建了一个函数,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.
}
我尝试运行它并在两个函数中设置断点,结果发现它们都没有运行。但是,当我从updateTime()
中取出beginGame()
时,或者如果我取出最后clock.innerHTML = displayTime
它可以正常运行(不幸的是结果不是我想要的)。为什么会这样呢?我很确定我在某处发现了一些语法错误,但无法发现它。感谢。
完整课程的演示是在tdat.byethost10.com。 (工作版本应该在打字时开始游戏&#34;开始&#34;,就像在tdat.mygamesonline.org一样。)或者,这是一个工作版本的意思发生的事情(为凌乱道歉) HTML)
答案 0 :(得分:0)
确定。我终于解决了这个问题。它似乎是一个轻微的拼写错误,如果你看一下你会发现它的JSFiddle。在beginGame()
函数中,我将id设置为“clock”而不是“clockDisplay”。谢谢你的尝试,伙计们!我真的很感激。