質問編集履歴
4
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,7 +51,9 @@
|
|
51
51
|
|
52
52
|
})();
|
53
53
|
|
54
|
+
```
|
54
|
-
|
55
|
+
html
|
56
|
+
```
|
55
57
|
<!DOCTYPE html>
|
56
58
|
<html lang="ja">
|
57
59
|
<head>
|
3
分かりやすく
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,181 +7,50 @@
|
|
7
7
|
|
8
8
|
```javascript
|
9
9
|
|
10
|
-
function btn1_click(){
|
11
|
-
// 値(数値)を取得
|
12
|
-
var num = document.form1.color1.selectedIndex;
|
13
|
-
|
14
|
-
// 値(value値)を取得
|
15
|
-
var str = document.form1.color1.options[num].value;
|
16
|
-
|
17
|
-
currentNum = str;
|
18
|
-
}
|
19
|
-
|
20
10
|
(function() {
|
21
|
-
|
11
|
+
'use strict';
|
22
12
|
|
23
|
-
// id の questionを、変更させる命令
|
24
|
-
var question = document.getElementById('question');
|
13
|
+
var question = document.getElementById('question');
|
25
|
-
var btn = document.getElementById('btn');
|
14
|
+
var btn = document.getElementById('btn');
|
26
|
-
// id のanswer 直下の li を変更させる命令
|
27
|
-
var answers = document.querySelectorAll('#answers > li');
|
15
|
+
var answers = document.querySelectorAll('#answers > li');
|
28
|
-
var kaitou = document.getElementById('kaitou');
|
29
|
-
var kaisetu = document.getElementById('kaisetu');
|
30
|
-
var result = document.getElementById('result');
|
31
|
-
//得点ラベルの値を表示
|
32
|
-
var scoreLabel = document.querySelector('#result > p');
|
33
16
|
|
34
17
|
|
35
|
-
//
|
36
|
-
var shuffledAnswers;
|
37
|
-
|
38
|
-
//配列
|
39
|
-
|
40
|
-
var quizSet = [
|
18
|
+
var quizSet = [
|
41
19
|
{q: 'What is A?', a: ['A0', 'A1', 'A2']},
|
42
20
|
{q: 'What is B?', a: ['B0', 'B1', 'B2']},
|
43
21
|
{q: 'What is C?', a: ['C0', 'C1', 'C2']}
|
44
22
|
];
|
45
23
|
|
46
|
-
//問題番号を設定
|
47
|
-
var currentNum = 0;
|
24
|
+
var currentNum = 0;
|
48
|
-
//回答したかを
|
49
|
-
var isAnswered;
|
50
|
-
//問題完了後にスコアを表示
|
51
|
-
var score = 0;
|
52
25
|
|
26
|
+
|
53
|
-
|
27
|
+
function setQuiz() {
|
28
|
+
・
|
29
|
+
・
|
30
|
+
・
|
31
|
+
}
|
54
32
|
|
33
|
+
function setEvents() {
|
34
|
+
var i;
|
35
|
+
for (i = 0; i < answers.length; i++) {
|
36
|
+
answers[i].addEventListener('click', function() {
|
37
|
+
checkAnswer(this);
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
55
41
|
|
42
|
+
function checkAnswer(node) {
|
43
|
+
・
|
44
|
+
・
|
45
|
+
・
|
46
|
+
}
|
47
|
+
}
|
56
48
|
|
49
|
+
setQuiz();
|
50
|
+
setEvents();
|
57
51
|
|
58
|
-
function shuffle(arr) {
|
59
|
-
var i;
|
60
|
-
var j;
|
61
|
-
var tmp;
|
62
|
-
for (i = arr.length - 1; i >= 0; i--) {
|
63
|
-
j = Math.floor(Math.random() * (i + 1));
|
64
|
-
tmp = arr[i];
|
65
|
-
arr[i] = arr[j];
|
66
|
-
arr[j] = tmp;
|
67
|
-
}
|
68
|
-
return arr;
|
69
|
-
}
|
70
|
-
|
71
|
-
function setQuiz() {
|
72
|
-
|
73
|
-
//次の問題にいくときに回答、解説を消す
|
74
|
-
//回答を表示させる。
|
75
|
-
kaitou.textContent = '';
|
76
|
-
kaisetu.textContent = '';
|
77
|
-
|
78
|
-
|
79
|
-
var i;
|
80
|
-
|
81
|
-
// id="question" を文字に置き換える命令
|
82
|
-
question.textContent = quizSet[currentNum].q;
|
83
|
-
|
84
|
-
// id answer 直下のli を文字に置き換える命令
|
85
|
-
// shuffledAnswers = shuffle(quizSet[currentNum].a);
|
86
|
-
|
87
|
-
//slice()をつけないと、配列の順番まで入れ替わる
|
88
|
-
shuffledAnswers = shuffle(quizSet[currentNum].a.slice());
|
89
|
-
|
90
|
-
//問題表示でfalse
|
91
|
-
isAnswered = false;
|
92
|
-
|
93
|
-
for (i = 0; i < answers.length; i++) {
|
94
|
-
answers[i].classList.remove('correct');
|
95
|
-
answers[i].classList.remove('wrong');
|
96
|
-
answers[i].textContent = shuffledAnswers[i];
|
97
|
-
}
|
98
|
-
btn.classList.add('disabled');
|
99
|
-
|
100
|
-
//最後の問題では、btnをshow scoreにする。
|
101
|
-
if (currentNum === quizSet.length - 1) {
|
102
|
-
btn.textContent = 'Show Score';
|
103
|
-
}
|
104
|
-
|
105
|
-
}
|
106
|
-
|
107
|
-
function setEvents() {
|
108
|
-
var i;
|
109
|
-
for (i = 0; i < answers.length; i++) {
|
110
|
-
answers[i].addEventListener('click', function()
|
111
|
-
{
|
112
|
-
checkAnswer(this);
|
113
|
-
});
|
114
|
-
}
|
115
|
-
|
116
|
-
//btnをクリックしたときの処理,次の問題に
|
117
|
-
btn.addEventListener('click', function() {
|
118
|
-
if (this.classList.contains('disabled')) {
|
119
|
-
return;
|
120
|
-
}
|
121
|
-
//ボタンを押したときの動作
|
122
|
-
// setQuiz();
|
123
|
-
if (currentNum === quizSet.length) {
|
124
|
-
// show score
|
125
|
-
// console.log('Score: ' + score + ' / ' + quizSet.length);
|
126
|
-
//スコアの値を入れる
|
127
|
-
scoreLabel.textContent = 'Score: ' + score + ' / ' + quizSet.length;
|
128
|
-
// 最後の問題だったら、スコアを表示
|
129
|
-
result.classList.add('show');
|
130
|
-
} else {
|
131
|
-
setQuiz();
|
132
|
-
}
|
133
|
-
});
|
134
|
-
|
135
|
-
}
|
136
|
-
|
137
|
-
|
138
|
-
function checkAnswer(node) {
|
139
|
-
|
140
|
-
//回答されているときはそれ以降の処理をしない。
|
141
|
-
if (isAnswered) {
|
142
|
-
return;
|
143
|
-
}
|
144
|
-
|
145
|
-
//クリックされたらtrue
|
146
|
-
isAnswered = true;
|
147
|
-
|
148
|
-
|
149
|
-
if (node.textContent === quizSet[currentNum].a[0]) {
|
150
|
-
// console.log('correct!');
|
151
|
-
|
152
|
-
//nodeのテキストに文字をつける
|
153
|
-
node.textContent += '... 正解!!';
|
154
|
-
//node に、クラスをつける
|
155
|
-
node.classList.add('correct');
|
156
|
-
//正解時にスコアを加算
|
157
|
-
score++;
|
158
|
-
|
159
|
-
|
160
|
-
} else {
|
161
|
-
// console.log('wrong!');
|
162
|
-
node.textContent += '... 間違い!!';
|
163
|
-
node.classList.add('wrong');
|
164
|
-
}
|
165
|
-
|
166
|
-
//回答を表示させる。
|
167
|
-
kaitou.textContent = '【回答】:' + quizSet[currentNum].a[0];
|
168
|
-
//実験 解説を表示させる。を表示させる
|
169
|
-
kaisetu.innerHTML = '★解説★<br>' + quizSet[currentNum].s;
|
170
|
-
|
171
|
-
|
172
|
-
//回答後にネクストボタンを押せるようにする。
|
173
|
-
btn.classList.remove('disabled');
|
174
|
-
currentNum++;
|
175
|
-
}
|
176
|
-
|
177
|
-
setQuiz();
|
178
|
-
setEvents();
|
179
|
-
|
180
52
|
})();
|
181
53
|
|
182
|
-
|
183
|
-
```
|
184
|
-
|
185
54
|
```html
|
186
55
|
<!DOCTYPE html>
|
187
56
|
<html lang="ja">
|
@@ -218,11 +87,6 @@
|
|
218
87
|
<br/>
|
219
88
|
<input type="button" value="問題選択" onclick="btn1_click()"/>
|
220
89
|
|
221
|
-
<div id="result">
|
222
|
-
<p>Score: 3/3</p>
|
223
|
-
<a href="">Replay</a>
|
224
|
-
</div>
|
225
|
-
|
226
90
|
</div>
|
227
91
|
|
228
92
|
<script src="js/main.js"></script>
|
2
コードミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -179,15 +179,7 @@
|
|
179
179
|
|
180
180
|
})();
|
181
181
|
|
182
|
-
function btn1_click(){
|
183
|
-
// 値(数値)を取得
|
184
|
-
var num = document.form1.color1.selectedIndex;
|
185
182
|
|
186
|
-
// 値(value値)を取得
|
187
|
-
var str = document.form1.color1.options[num].value;
|
188
|
-
|
189
|
-
var currentNum = str;
|
190
|
-
}
|
191
183
|
```
|
192
184
|
|
193
185
|
```html
|
1
タイトルの修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
javascriptにて、ブラウザから
|
1
|
+
javascriptにて、ブラウザからセレクトボックスにて変数を変更する方法
|
body
CHANGED
File without changes
|