実現したいこと
クイズがすべてで終わった後に終了されて正解数が出るようにしてるのですが、
・3問目もしくは4問目が不正解になったとき出題終了する要件を追加したい
・終了時の画面から問題やラジオボタンを消したい
発生している問題・分からないこと
・3問目4問目が不正解の時に正解数の表示はできるが問題などが消せない
・ラジオボタンを消す方法が分からない
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <script src="js/jquery-2.1.3.min.js"></script> <link rel="stylesheet" href="css/sample.css"> <title>クイズ課題</title> </head> <body> <header> <h1>クイズ検定</h1> <h1 id="c"></h1> </header> <main> <p id="quest">問題</p> <p> <input type="radio" name="toi" value="1"><span id="toi1">選択肢1</span> <input type="radio" name="toi" value="2"><span id="toi2">選択肢2</span> <input type="radio" name="toi" value="3"><span id="toi3">選択肢3</span> </p> </main> <footer></footer> <script> //以下に配列を記述してください。 //問題文[配列] const qs = [ "通るときにしまって、通らないときに空いているものはなに?", "話すことがとても好きな道具は何?", "世界の真ん中にいる虫は何?", "小さな帽子をかぶっているのは誰?", "学校の中で先生が二人いる場所があります。どこでしょう?" ]; //回答選択肢[多重配列] const toi = [ ["踏切", "洗濯機", "冷蔵庫"], //toi[0][2] 答え冷蔵庫 ["スプーン", "シャベル", "しゃもじ"], ["てんとう虫", "カマキリ", "蚊"], ["消防士", "警察官", "タクシー運転手"], ["非常階段", "運動場", "教室"] ]; //答え[配列] const ans = [1, 2, 3, 1, 3]; //0門目の答え1 1門目の答え2 //1.最初の問題文&回答選択肢&回答値を設定 //4.正解数カウント値を設定 let i = 0; let count = 0; $("#quest").html(qs[i]); $("#toi1").html(toi[i][0]); $("#toi2").html(toi[i][1]); $("#toi3").html(toi[i][2]); //2.ラジオボタンをクリックしたらイベント発生!(クリックイベント) $("[name=toi]").on("click", function () { if ($(this).val() == ans[i]) { window.alert('正解!'); count += 1; } else { window.alert('不正解!'); } //1足して次の問題に移行 i++; if (i < 5) { $("#quest").html(qs[i]); $("#toi1").html(toi[i][0]); $("#toi2").html(toi[i][1]); $("#toi3").html(toi[i][2]); } else { $("#c").html('クイズに' + count + '問正解しました!'); window.alert("完了"); let qele = document.getElementById('quest'); let t1ele = document.getElementById('toi1'); let t2ele = document.getElementById('toi2'); let t3ele = document.getElementById('toi3'); let btn = document.getElementsByName('toi'); qele.style.display = 'none'; t1ele.style.display = 'none'; t2ele.style.display = 'none'; t3ele.style.display = 'none'; //ラジオボタンを消す btn.remove(); } }); </script> </body> </html>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
調べたが見つけられなかった
補足
特になし
回答2件
あなたの回答
tips
プレビュー