2016-03-29 22 views
-1

私は、以下に示すように、ユーザーがゲームをプレイするときに時計を表示するhtmlコードを持つdivを持っています。機能が実行されないのはなぜですか?

<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 
} 

私は私の他の機能beginGame()(ゲーム全体を開始し、下に示す)の中からupdateClock()を呼び出すしたいとき残念ながら、全体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です。また、ここでは(汚いHTMLのための謝罪)

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

を起こることを意味しているものの作業バージョンがある(作業バージョンはtdat.mygamesonline.orgのように、「開始」を入力すると、ゲームを始めることになっていました)
+0

コードの品質を向上させるためにjslintを使用してください。http://www.jslint.com/ – gurvinder372

+0

コードをインデントしてください。 – Cyclonecode

+7

''私はどこかで構文エラーを作りましたが、それを見つけられないと確信しています。 '' - これはブラウザのデバッグツールのためのものです。パーサーが構文エラーに遭遇している場合は、JavaScriptコンソールで通知されます。さらに、*表示*ではなく*記述*しているコードでは構文エラーを検出できません。 – David

答えて

0

私はついにこの問題を解決しました。あなたがJSFiddleを見れば、それを見つけることができますが、それはわずかなスペルミスです。 beginGame()関数では、 "clockDisplay"ではなく "clock"としてidを入れました。試してくれてありがとう、みんな!ほんとうにありがとう。

関連する問題