为什么功能没有运行?

时间:2016-03-29 12:24:38

标签: javascript

我有一个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)

https://jsfiddle.net/hundotte/vb3je10p/1/

1 个答案:

答案 0 :(得分:0)

确定。我终于解决了这个问题。它似乎是一个轻微的拼写错误,如果你看一下你会发现它的JSFiddle。在beginGame()函数中,我将id设置为“clock”而不是“clockDisplay”。谢谢你的尝试,伙计们!我真的很感激。