簡體   English   中英

為什么函數不運行?

[英]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 道歉)

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

好的。 我終於解決了這個問題。 這似乎是一個輕微的拼寫錯誤,如果您查看 JSFiddle,您會發現它。 beginGame()函數中,我將 id 設為“clock”而不是“clockDisplay”。 感謝您的嘗試,伙計們! 對此,我真的非常感激。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM