回答編集履歴

1

Edgeではうまく動作しないとのことで、alertの実行タイミングを非同期にコントロールするよう修正

2019/06/09 04:52

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -80,7 +80,11 @@
80
80
 
81
81
  const unit = 5;
82
82
 
83
- var cur = start;
83
+ var cur = start,
84
+
85
+ // アラート用のタイマーを外側で持っておく
86
+
87
+ alertTimer = null;
84
88
 
85
89
 
86
90
 
@@ -108,7 +112,19 @@
108
112
 
109
113
  clearInterval(alertmsg);
110
114
 
115
+ // アラートのタイマーが生きてるなら、クリア
116
+
117
+ if (alertTimer) {
118
+
119
+ clearTimeout(alertTimer);
120
+
121
+ }
122
+
123
+ alertTimer = setTimeout(function(){
124
+
111
- alert("OK");
125
+ alert("OK");
126
+
127
+ }, 10);
112
128
 
113
129
  cur -= unit;
114
130
 
@@ -118,7 +134,23 @@
118
134
 
119
135
  } else {
120
136
 
137
+ // こちらも一応、アラートのタイマーをいれておく
138
+
139
+ // アラートのタイマーが生きてるなら、クリア
140
+
141
+ if (alertTimer) {
142
+
143
+ clearTimeout(alertTimer);
144
+
145
+ }
146
+
147
+ alertTimer = setTimeout(function(){
148
+
121
- alert("不正解です。もう一度最初から計算してください。");
149
+ alert("不正解です。もう一度最初から計算してください。");
150
+
151
+ }, 10);
152
+
153
+
122
154
 
123
155
  //最初の問題に戻る
124
156