-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
31 lines (28 loc) · 983 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const durationInput = document.getElementById('duration');
const startButton = document.getElementById('start');
const pauseButton = document.getElementById('pause');
const circle = document.querySelector('circle');
let perimeter = circle.getAttribute('r') * 2 * Math.PI;
circle.setAttribute('stroke-dasharray', perimeter);
let duration = 0;
const timer = new Timer(durationInput, startButton, pauseButton, {
onStart(getDuration) {
pauseButton.classList.remove('hide-btn');
startButton.classList.add('hide-btn');
duration = getDuration;
},
onPause() {
startButton.classList.remove('hide-btn')
pauseButton.classList.add('hide-btn');
console.log('pause btn clicked')
},
onTick(getTimer) {
// console.log('tick tick')
circle.setAttribute('stroke-dashoffset',
perimeter * getTimer / duration - perimeter
);
},
onComplete() {
console.log('time completed')
}
});