質問編集履歴

1

コードの修正

2021/08/03 05:57

投稿

blendegg
blendegg

スコア81

test CHANGED
File without changes
test CHANGED
@@ -89,3 +89,81 @@
89
89
  しかし、2つのupdate関数の違いがわかりません。
90
90
 
91
91
  1つめは加算代入だから、雪だるま式に増えるということですよね。しかし、2つ目も加算代入と思うんですが、違いを教えていただけますか?
92
+
93
+
94
+
95
+ # 以下、修正したコードです
96
+
97
+ ボタンを押すとタイマーが作動し、もう1度押すとストップします。トグルを追加しました。
98
+
99
+
100
+
101
+ ```ここに言語を入力
102
+
103
+ <div id="timer">0</div>
104
+
105
+ <button id="button">ぼたん</button>
106
+
107
+
108
+
109
+ <script>
110
+
111
+ let accumTime = 0;//累積時間
112
+
113
+ let startTime =0;
114
+
115
+ let timer = document.getElementById("timer");
116
+
117
+ let button = document.getElementById("button");
118
+
119
+ let toggle = "stop";
120
+
121
+ let interval_id;
122
+
123
+
124
+
125
+ button.addEventListener("click" , function()
126
+
127
+ {
128
+
129
+ switch(toggle)
130
+
131
+ {
132
+
133
+ case "stop":
134
+
135
+ interval_id = setInterval(update , 100);
136
+
137
+ toggle = "run";
138
+
139
+ break;
140
+
141
+ case "run":
142
+
143
+ clearInterval(interval_id);
144
+
145
+ toggle = "stop";
146
+
147
+ break;
148
+
149
+ }
150
+
151
+
152
+
153
+ });
154
+
155
+
156
+
157
+ function update()
158
+
159
+ {
160
+
161
+ accumTime += (performance.now() - startTime);
162
+
163
+ timer.textContent = accumTime;
164
+
165
+ }
166
+
167
+ </script>
168
+
169
+ ```