1+ const timeDown = document . getElementById ( 'time-down' ) ;
2+ const timeUp = document . getElementById ( 'time-up' ) ;
3+ const timeSelect = document . getElementById ( 'time-select' ) ;
4+ const time = document . getElementById ( 'time' ) ;
5+ const play = document . getElementById ( 'play' ) ;
6+ const pause = document . getElementById ( 'pause' ) ;
7+ const stop = document . getElementById ( 'stop' ) ;
8+ const bell = new Audio ( 'bell.mp3' ) ;
9+ let minute = parseInt ( timeSelect . textContent ) ;
10+ let second = 0 ;
11+
12+ timeUp . addEventListener ( 'click' , increaseTime ) ;
13+ timeDown . addEventListener ( 'click' , decreaseTime ) ;
14+ stop . addEventListener ( 'click' , stopTimer ) ;
15+ play . addEventListener ( 'click' , playTimer ) ;
16+
17+
18+ function playTimer ( ) {
19+ timeUp . removeEventListener ( 'click' , increaseTime ) ;
20+ timeDown . removeEventListener ( 'click' , decreaseTime ) ;
21+ play . removeEventListener ( 'click' , playTimer ) ;
22+ pause . addEventListener ( 'click' , pauseTimer ) ;
23+ stop . removeEventListener ( 'click' , stopTimer ) ;
24+ timer ( ) ;
25+ const timing = setInterval ( timer , 1000 ) ;
26+
27+ function timer ( ) {
28+ switch ( true ) {
29+ case ( second == 0 ) :
30+ second = 60 ;
31+ minute -- ;
32+ break ;
33+ case ( minute == 0 && second == 1 ) :
34+ bell . play ( ) ;
35+ time . textContent = "Time's up!" ;
36+ clearInterval ( timing ) ;
37+ stop . addEventListener ( 'click' , stopTimer ) ;
38+ break ;
39+ default :
40+ second -- ;
41+ time . textContent = minute + ':' + second ;
42+ } ;
43+ } ;
44+
45+ function pauseTimer ( ) {
46+ clearInterval ( timing ) ;
47+ pause . removeEventListener ( 'click' , pauseTimer ) ;
48+ stop . addEventListener ( 'click' , stopTimer ) ;
49+ play . addEventListener ( 'click' , playTimer ) ;
50+ } ;
51+ } ;
52+
53+ function increaseTime ( ) {
54+ if ( timeSelect . textContent == 59 ) {
55+ timeSelect . textContent = 1 ;
56+ } else {
57+ timeSelect . textContent = parseInt ( timeSelect . textContent ) + 1 ;
58+ minute ++ ;
59+ } ;
60+ } ;
61+
62+ function decreaseTime ( ) {
63+ if ( timeSelect . textContent == 1 ) {
64+ timeSelect . textContent = 59 ;
65+ } else {
66+ timeSelect . textContent = parseInt ( timeSelect . textContent ) - 1 ;
67+ minute -- ;
68+ } ;
69+ } ;
70+
71+ function stopTimer ( ) {
72+ minute = 25 ;
73+ second = 0 ;
74+ timeSelect . textContent = minute ;
75+ time . textContent = minute + ':00' ;
76+ timeUp . addEventListener ( 'click' , increaseTime ) ;
77+ timeDown . addEventListener ( 'click' , decreaseTime ) ;
78+ play . addEventListener ( 'click' , playTimer ) ;
79+ } ;
0 commit comments