-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtimer.js
30 lines (27 loc) · 917 Bytes
/
timer.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
function setValue (name, value) {
var node = document.getElementById('value-'+name)
node.textContent = value
}
function setProgress (name, ratio) {
node = document.getElementById('progress-'+name)
node.setAttribute('stroke-dashoffset', (1 - ratio) * 6.28 * 50)
}
function step (timestamp) {
var present = new Date()
var competition = Date.parse("2024-05-25T00:00:00.000-00:00")
var delta = (competition - present) / 1000
delta = delta > 0 ? delta : 0
setValue('day', Math.floor(delta / 86400))
setProgress('day', delta / 31536000)
delta = delta % 86400
setValue('hour', Math.floor(delta / 3600))
setProgress('hour', delta / 86400)
delta = delta % 3600
setValue('minute', Math.floor(delta / 60))
setProgress('minute', delta / 3600)
delta = delta % 60
setValue('second', Math.floor(delta))
setProgress('second', delta / 60)
window.requestAnimationFrame(step)
}
window.requestAnimationFrame(step)