回答編集履歴

4

コード修正

2021/10/29 01:05

投稿

fj68
fj68

スコア752

test CHANGED
@@ -38,9 +38,7 @@
38
38
 
39
39
  }
40
40
 
41
- /* 1番目の問題を最初は表示されるようにし、showクラスが付いている問題表示するようにする */
41
+ /* showクラスが付いている問題表示するようにする */
42
-
43
- .question:nth-of-type(1),
44
42
 
45
43
  .question.show {
46
44
 
@@ -58,7 +56,7 @@
58
56
 
59
57
  <form id="questions">
60
58
 
61
- <div class="question">
59
+ <div class="question show">
62
60
 
63
61
  <fieldset>
64
62
 
@@ -66,9 +64,9 @@
66
64
 
67
65
  <img alt="なにかの画像" src="画像のURL">
68
66
 
69
- <label><input type="radio" name="q1" class="choice" value="10">A</label>
67
+ <label><input type="radio" name="q1" class="q" value="10">A</label>
70
68
 
71
- <label><input type="radio" name="q1" class="choice" value="5">B</label>
69
+ <label><input type="radio" name="q1" class="q" value="5">B</label>
72
70
 
73
71
  </fieldset>
74
72
 
@@ -82,9 +80,9 @@
82
80
 
83
81
  <img alt="なにかの画像" src="画像のURL">
84
82
 
85
- <label><input type="radio" name="q2" class="choice" value="10">A</label>
83
+ <label><input type="radio" name="q2" class="q" value="10">A</label>
86
84
 
87
- <label><input type="radio" name="q2" class="choice" value="5">B</label>
85
+ <label><input type="radio" name="q2" class="q" value="5">B</label>
88
86
 
89
87
  </fieldset>
90
88
 
@@ -134,7 +132,7 @@
134
132
 
135
133
  // 各問題の選択肢を全て取得
136
134
 
137
- const choices = question.querySelectorAll('.choice');
135
+ const choices = question.querySelectorAll('.q');
138
136
 
139
137
  for (const choice of choices) {
140
138
 

3

コード修正

2021/10/29 01:05

投稿

fj68
fj68

スコア752

test CHANGED
@@ -128,7 +128,9 @@
128
128
 
129
129
  const questions = Array.from(document.querySelectorAll("#questions .question"));
130
130
 
131
+ // 最後の問題以外の全ての選択肢に「変更があったら次の問題に切り替える」処理を追加する
132
+
131
- questions.forEach((question, i) => {
133
+ questions.slice(0, -1).forEach((question, i) => {
132
134
 
133
135
  // 各問題の選択肢を全て取得
134
136
 
@@ -140,15 +142,11 @@
140
142
 
141
143
  choice.addEventListener('change', _ev => {
142
144
 
143
- if (i < questions.length - 1) {
145
+ // 現在の問題を非表示にして次の問題を表示
144
146
 
145
- // 最後の問題でなければ現在の問題を非表示にして次の問題を表示
147
+ hide(questions[i]);
146
148
 
147
- hide(questions[i]);
148
-
149
- show(questions[i+1]);
149
+ show(questions[i+1]);
150
-
151
- }
152
150
 
153
151
  });
154
152
 

2

コード修正

2021/10/29 01:02

投稿

fj68
fj68

スコア752

test CHANGED
@@ -138,7 +138,7 @@
138
138
 
139
139
  // 選択肢が変更されたら
140
140
 
141
- choice.addEventListener('change', ev => {
141
+ choice.addEventListener('change', _ev => {
142
142
 
143
143
  if (i < questions.length - 1) {
144
144
 

1

コード修正

2021/10/29 00:52

投稿

fj68
fj68

スコア752

test CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
  // 各問題の選択肢を全て取得
134
134
 
135
- const choices = Array.from(question.querySelectorAll('.choice'));
135
+ const choices = question.querySelectorAll('.choice');
136
136
 
137
137
  for (const choice of choices) {
138
138