Skip to content

Commit 183310c

Browse files
committed
after watched video
1 parent 61ad65b commit 183310c

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

29 Countdown Timer/README.MD

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
倒數計時
3+
5分鐘
4+
15分鐘
5+
6+
7+
時間 和數字運算,會當成ms進行運算
8+
9+
停止計時
10+
```javascript=
11+
const pid = setInterval()
12+
clearInterval(pid);
13+
```
14+
15+
~~範例程式碼的`timer`視為閉包~~
16+
17+
18+
忽略預設行為
19+
```javascript=
20+
e.preventDefault();
21+
```

29 Countdown Timer/scripts.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
const timers = document.querySelectorAll('.timer__button');
22
const show_end_time = document.querySelector('.display__end-time');
33
const show_remaining_time = document.querySelector('.display__time-left');
4+
5+
document.customForm.addEventListener('submit', function (e) {
6+
e.preventDefault();
7+
const sec_time = this.minutes.value * 60 * 1000;
8+
const now = new Date();
9+
end_time = new Date(now.getTime() + sec_time);
10+
11+
const diff = new Date(sec_time);
12+
show_end_time.textContent = `倒數到: ${end_time.getHours()}:${end_time.getMinutes()}:${end_time.getSeconds()}`;
13+
14+
clearInterval(timer_pid);
15+
timer_pid = setInterval(countDownTimer, 500);
16+
17+
18+
this.reset();
19+
});
20+
21+
22+
423
end_time = new Date();
524

625
let timer_pid;
@@ -10,7 +29,7 @@ function countDownTimer() {
1029
const now = new Date();
1130
const remaining_time = new Date(end_time - now);
1231
show_remaining_time.textContent = `${remaining_time.getMinutes()}:${remaining_time.getSeconds()}`;
13-
if(remaining_time < 0) clearInterval(timer_pid);
32+
if(remaining_time <= 1) clearInterval(timer_pid);
1433
}
1534

1635
function setTimer() {

0 commit comments

Comments
 (0)