回答編集履歴
3
調整版
answer
CHANGED
@@ -104,4 +104,71 @@
|
|
104
104
|
<button id="sum">計算</button>
|
105
105
|
<div id="sum_account" ></div>
|
106
106
|
</div>
|
107
|
+
```
|
108
|
+
|
109
|
+
# 調整版
|
110
|
+
```javascript
|
111
|
+
<script>
|
112
|
+
'use strict';
|
113
|
+
var current_d=0;
|
114
|
+
var prev_d=0;
|
115
|
+
window.addEventListener('DOMContentLoaded', ()=>{
|
116
|
+
const timer = document.querySelector('#timer');
|
117
|
+
const start = document.querySelector('#start');
|
118
|
+
const stop = document.querySelector('#stop');
|
119
|
+
const reset = document.querySelector('#reset');
|
120
|
+
const mintus = document.querySelector('#mintus');
|
121
|
+
const math = document.querySelector('#sum');
|
122
|
+
const sum_account = document.querySelector('#sum_account');
|
123
|
+
let timerId;
|
124
|
+
|
125
|
+
stop.disabled=true;
|
126
|
+
|
127
|
+
const format_time=(d)=>{
|
128
|
+
const m = parseInt(d/60/1000).toString().padStart(2, '0');
|
129
|
+
const s = (parseInt(d/1000)%60).toString().padStart(2, '0');
|
130
|
+
const ms = (d%1000).toString().padStart(3, '0');
|
131
|
+
return `${m}:${s}.${ms}`;
|
132
|
+
};
|
133
|
+
start.addEventListener('click',()=>{
|
134
|
+
var now=new Date();
|
135
|
+
start.disabled=true;
|
136
|
+
stop.disabled=false;
|
137
|
+
reset.disabled=true;
|
138
|
+
timerId=setInterval(()=>{
|
139
|
+
current_d=new Date().getTime()-now.getTime()+prev_d;
|
140
|
+
timer.textContent=format_time(current_d);
|
141
|
+
},10);
|
142
|
+
});
|
143
|
+
stop.addEventListener('click',()=>{
|
144
|
+
start.disabled=false;
|
145
|
+
stop.disabled=true;
|
146
|
+
reset.disabled=false;
|
147
|
+
clearInterval(timerId);
|
148
|
+
prev_d=current_d;
|
149
|
+
});
|
150
|
+
reset.addEventListener('click',()=>{
|
151
|
+
current_d=0;
|
152
|
+
prev_d=0;
|
153
|
+
timer.textContent=format_time(current_d);
|
154
|
+
});
|
155
|
+
math.addEventListener('click',()=>{
|
156
|
+
const m=parseInt(mintus.options[mintus.selectedIndex].textContent);
|
157
|
+
sum_account.textContent=format_time(m*60*1000-current_d);
|
158
|
+
});
|
159
|
+
});
|
160
|
+
</script>
|
161
|
+
<div id="timer">00:00.000</div>
|
162
|
+
<button id="start">Start</button>
|
163
|
+
<button id="stop">Stop</button>
|
164
|
+
<button id="reset">Reset</button>
|
165
|
+
<select name="mintus" id ="mintus">
|
166
|
+
<option value="time_1">30</option>
|
167
|
+
<option value="time_2">60</option>
|
168
|
+
<option value="time_3">90</option>
|
169
|
+
</select>
|
170
|
+
<div>
|
171
|
+
<button id="sum">計算</button>
|
172
|
+
<div id="sum_account" ></div>
|
173
|
+
</div>
|
107
174
|
```
|
2
chousei
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<script>
|
4
4
|
|
5
5
|
'use strict';
|
6
|
-
var d;
|
6
|
+
var d=new Date(0);
|
7
7
|
window.addEventListener('DOMContentLoaded', ()=>{
|
8
8
|
const timer = document.getElementById('timer');
|
9
9
|
const start = document.getElementById('start');
|
@@ -18,7 +18,7 @@
|
|
18
18
|
let elapsedTime = 0;
|
19
19
|
|
20
20
|
function format_time(d){
|
21
|
-
const m = String(d.getMinutes()).padStart(2, '0');
|
21
|
+
const m = String(d.getMinutes()+(d.getHours()-9)*60).padStart(2, '0');
|
22
22
|
const s = String(d.getSeconds()).padStart(2, '0');
|
23
23
|
const ms = String(d.getMilliseconds()).padStart(3, '0');
|
24
24
|
return `${m}:${s}.${ms}`;
|
1
chosei
answer
CHANGED
@@ -53,8 +53,7 @@
|
|
53
53
|
|
54
54
|
function calculateRemaining(timeTxt) {
|
55
55
|
const m = parseInt(mintus.options[mintus.selectedIndex].textContent);
|
56
|
-
console.log(mintus.value);
|
57
|
-
const result1 = d;
|
56
|
+
const result1 = new Date(d.getTime());
|
58
57
|
result1.setMinutes(m-result1.getMinutes());
|
59
58
|
result1.setSeconds(-result1.getSeconds());
|
60
59
|
result1.setMilliseconds(-result1.getMilliseconds());
|