質問編集履歴
3
テストコード追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -155,7 +155,23 @@
|
|
155
155
|
</div>
|
156
156
|
</div>
|
157
157
|
```
|
158
|
+
```js
|
159
|
+
//テストコード
|
160
|
+
{
|
161
|
+
const btn = document.getElementById('btn');
|
158
162
|
|
163
|
+
function callback() {
|
164
|
+
btn.classList.add('active');
|
165
|
+
}
|
159
166
|
|
167
|
+
btn.addEventListener('click',callback);
|
168
|
+
}
|
169
|
+
|
170
|
+
```
|
171
|
+
```HTML
|
172
|
+
|
173
|
+
```
|
174
|
+
|
175
|
+
|
160
176
|
### 補足情報
|
161
177
|
mac、VScode使用。
|
2
コールバック関数を使ってコードを書いてみました
title
CHANGED
File without changes
|
body
CHANGED
@@ -81,19 +81,10 @@
|
|
81
81
|
let success = document.getElementById('success');
|
82
82
|
let good = document.getElementById('good');
|
83
83
|
let cheer = document.getElementById('cheer');
|
84
|
-
|
84
|
+
function score(callback) {
|
85
|
-
let point = 0;
|
86
|
-
const imgs = document.querySelectorAll('img');
|
87
|
-
|
85
|
+
callback();
|
88
|
-
for(let i =0; i < imgs.length; i++ ) {
|
89
|
-
imgs[i].addEventListener('click', () => {
|
90
|
-
if(imgs[i].classList.contains('mole') === true) {
|
91
|
-
return point++;
|
92
|
-
|
86
|
+
}
|
93
|
-
|
94
|
-
|
87
|
+
|
95
|
-
}
|
96
|
-
}
|
97
88
|
|
98
89
|
btn.addEventListener('click',() => {
|
99
90
|
btn.classList.add('start');
|
@@ -102,14 +93,25 @@
|
|
102
93
|
panel.spin();
|
103
94
|
})
|
104
95
|
if(btn.classList.contains('start') === true) {
|
96
|
+
|
105
|
-
|
97
|
+
function getScore() {
|
98
|
+
const imgs = document.querySelectorAll('img');
|
99
|
+
for(let i =0; i < imgs.length; i++ ) {
|
100
|
+
imgs[i].addEventListener('click', () => {
|
101
|
+
if(imgs[i].classList.contains('mole') === true) {
|
102
|
+
point++;
|
103
|
+
console.log(point);
|
104
|
+
}
|
105
|
+
});
|
106
|
+
}
|
107
|
+
};
|
106
|
-
|
108
|
+
const totallScore = score(getScore);//
|
107
109
|
let timer = document.getElementById('timer');
|
108
110
|
if(timer.textContent === '0 秒') {//タイマーが0秒になった時に点数に応じて条件分岐する
|
109
|
-
if(
|
111
|
+
if(totallScore >= 7) {
|
110
112
|
success.style.display ='block';
|
111
113
|
success.classList.add('block');
|
112
|
-
}else if(
|
114
|
+
}else if(totallScore >= 5) {
|
113
115
|
good.style.display ='block';
|
114
116
|
good.classList.add('block');
|
115
117
|
}else{
|
1
undifindがどこで表示されるのか記載しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,8 +5,8 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
|
-
|
8
|
+
getScore()を変数scoreに代入しているのですが、scoreをconsole.logで確認するとundifindと表示されます。
|
9
|
-
|
9
|
+
getScoreはreturnで結果を返すように記載しています。
|
10
10
|
|
11
11
|
|
12
12
|
### 該当のソースコード
|
@@ -103,9 +103,9 @@
|
|
103
103
|
})
|
104
104
|
if(btn.classList.contains('start') === true) {
|
105
105
|
let score = getScore();
|
106
|
-
console.log(score);
|
106
|
+
console.log(score);//ここでundifindと表示されます。
|
107
107
|
let timer = document.getElementById('timer');
|
108
|
-
if(timer.textContent === '0 秒') {
|
108
|
+
if(timer.textContent === '0 秒') {//タイマーが0秒になった時に点数に応じて条件分岐する
|
109
109
|
if(score >= 7) {
|
110
110
|
success.style.display ='block';
|
111
111
|
success.classList.add('block');
|