-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTimer.js
More file actions
27 lines (24 loc) · 731 Bytes
/
Copy pathTimer.js
File metadata and controls
27 lines (24 loc) · 731 Bytes
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
class Timer {
constructor() {
this.totalTime = 75 // minutes
this.startTime = new Date()
this.minutesElapsed = 0
this.minutesLeft = this.totalTime
this.updateTimer()
}
updateTimer() {
let self = this
this.timer = setInterval(function() {
let millisecondsElapsed = Date.now() - self.startTime
self.minutesElapsed = Math.floor(millisecondsElapsed / (1000 * 60))
self.minutesLeft = self.totalTime - self.minutesElapsed
self.updateHtml()
}, 1000)
}
stopTimer() {
clearInterval(this.timer)
}
updateHtml() {
document.getElementById('timer').innerHTML = this.minutesLeft
}
}