質問編集履歴

3

テストコード追加しました

2020/05/28 12:56

投稿

kaaaarin
kaaaarin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -312,6 +312,38 @@
312
312
 
313
313
  ```
314
314
 
315
+ ```js
316
+
317
+ //テストコード
318
+
319
+ {
320
+
321
+ const btn = document.getElementById('btn');
322
+
323
+
324
+
325
+ function callback() {
326
+
327
+ btn.classList.add('active');
328
+
329
+ }
330
+
331
+
332
+
333
+ btn.addEventListener('click',callback);
334
+
335
+ }
336
+
337
+
338
+
339
+ ```
340
+
341
+ ```HTML
342
+
343
+
344
+
345
+ ```
346
+
315
347
 
316
348
 
317
349
 

2

コールバック関数を使ってコードを書いてみました

2020/05/28 12:56

投稿

kaaaarin
kaaaarin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -164,63 +164,67 @@
164
164
 
165
165
  let cheer = document.getElementById('cheer');
166
166
 
167
+      function score(callback) {
168
+
169
+ callback();
170
+
171
+ }
172
+
173
+
174
+
175
+
176
+
177
+ btn.addEventListener('click',() => {
178
+
179
+ btn.classList.add('start');
180
+
181
+ timer();
182
+
183
+ panels.forEach(panel => {
184
+
185
+ panel.spin();
186
+
187
+ })
188
+
189
+ if(btn.classList.contains('start') === true) {
190
+
191
+
192
+
167
- function getScore() {
193
+ function getScore() {
168
-
169
- let point = 0;
170
194
 
171
195
  const imgs = document.querySelectorAll('img');
172
196
 
173
- console.log(imgs);
174
-
175
197
  for(let i =0; i < imgs.length; i++ ) {
176
198
 
177
199
  imgs[i].addEventListener('click', () => {
178
200
 
179
201
  if(imgs[i].classList.contains('mole') === true) {
180
202
 
181
- return point++;
203
+ point++;
204
+
205
+ console.log(point);
182
206
 
183
207
  }
184
208
 
185
-
186
-
187
209
  });
188
210
 
189
211
  }
190
212
 
191
- }
192
-
193
-
194
-
195
- btn.addEventListener('click',() => {
196
-
197
- btn.classList.add('start');
198
-
199
- timer();
200
-
201
- panels.forEach(panel => {
202
-
203
- panel.spin();
204
-
205
- })
213
+ };
206
-
207
- if(btn.classList.contains('start') === true) {
214
+
208
-
209
- let score = getScore();
210
-
211
- console.log(score);//ここでundifindと表示されます。
215
+ const totallScore = score(getScore);//
212
216
 
213
217
  let timer = document.getElementById('timer');
214
218
 
215
219
  if(timer.textContent === '0 秒') {//タイマーが0秒になった時に点数に応じて条件分岐する
216
220
 
217
- if(score >= 7) {
221
+ if(totallScore >= 7) {
218
222
 
219
223
  success.style.display ='block';
220
224
 
221
225
  success.classList.add('block');
222
226
 
223
- }else if(point >= 5) {
227
+ }else if(totallScore >= 5) {
224
228
 
225
229
  good.style.display ='block';
226
230
 

1

undifindがどこで表示されるのか記載しました。

2020/05/27 14:23

投稿

kaaaarin
kaaaarin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,9 @@
12
12
 
13
13
  ### 発生している問題・エラーメッセージ
14
14
 
15
- 関数呼び出し、変数に代入しているのですが、undifindと表示されます。
15
+ getScore()を変数scoreに代入しているのですが、scoreをconsole.logで確認するとundifindと表示されます。
16
-
16
+
17
- なぜreturnできないのでしょか?よろくお願いたします。
17
+ getScoreはreturnで結果を返すよに記載います。
18
18
 
19
19
 
20
20
 
@@ -208,11 +208,11 @@
208
208
 
209
209
  let score = getScore();
210
210
 
211
- console.log(score);
211
+ console.log(score);//ここでundifindと表示されます。
212
212
 
213
213
  let timer = document.getElementById('timer');
214
214
 
215
- if(timer.textContent === '0 秒') {
215
+ if(timer.textContent === '0 秒') {//タイマーが0秒になった時に点数に応じて条件分岐する
216
216
 
217
217
  if(score >= 7) {
218
218