前提・実現したいこと
javascriptでタイピングゲームを作っています。
正解パターンの表記ができません。
同じ文を打っても、間違いと出てしまいます。
発生している問題・エラーメッセージ
該当のソースコード
javascript
let subject = document.getElementById('subject'); let mytext = document.getElementById('myText'); let submit = document.getElementById('submit'); let currentTime = document.getElementById('currentTime'); let questionArray = [ 'apple', 'banana', 'apple', 'banana', 'apple', 'banana' ]; let time = 60; let count = 0; let state = true const countdown = setInterval(function() { currentTime.textContent = '制限時間 : ' + --time + '秒'; if(time <= 0)finish(); },1000); submit.addEventListener('click' , function(e){ if(!state) return; if(mytext.value == submit.textContent) { count++; init(); } else { subject.textContent= '間違いです'; setTimeout(function() { init()},1000) } }); init(); function init() { const rnd = Math.floor(Math.random() * questionArray.length); subject.textContent = questionArray[rnd]; mytext.value = ' '; mytext.focus(); } function finish() { clearInterval(countdown); subject.textContent = '正解数は' + count + "子でした"; state = false; }
html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="typing.css"> </head> <body> <div class="typingGame"> <h1 id="subject">dkns</h1> <input type="text" id="myText"> <button id="submit" >送信</button> <p id="currentTime"></p> </div> <script src="game.js"></script> </body> </html>
試したこと
id名の取得ミスや、inputタグのvalueの取得方法など調べましたが、この書き方であっていると思っています。
補足情報(FW/ツールのバージョンなど)
mytextをデバッグしてみましたか?
すみません、どうデバッグすればいいですか?
Javascript デバッグ
で検索
確認するのは変数に想定の値が想定のタイミングで入ってきているか。
console.log(mytext)などで
https://jsfiddle.net/skys215/eox6zrt2/2/
エラーは出ませんでした。どうしたらエラーが出るのですか?
エラーを再現できる手順を教えていただけもらえませんか?
やってみます
エラーは無くなりました!
何かしてなくなったのか、何もしてないのかは気になりますが、解決したのかしてないのか
してないなら質問本文に追記してください。
htmlのid名がミスで,javascriptとhtmlでの表記名が違っていました。
すみません。
質問内容を次々と変えるのはやめてください。質問と回答がちぐはぐになるので。
さいしょに聞いた問題が解決したら、ベストアンサーを選んで、また別の質問を作ってください。
まだ回答がついていません
会員登録して回答してみよう