X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=js%2F90-timers.js;h=c9b095039873c84b3f886eaaac06c2b48ee510d7;hb=2a1a09062f8d5081a318b995e1a0459755716bb5;hp=af971be22f1a9ed320249d8c4ed999da291b99f3;hpb=8345760abf4953980a85e0d5f9cade421f73d4ff;p=plack-app-gruntmaster.git diff --git a/js/90-timers.js b/js/90-timers.js index af971be..c9b0950 100644 --- a/js/90-timers.js +++ b/js/90-timers.js @@ -1,8 +1,10 @@ +let offset = 0; + function update_timer(timer){ var start = parseInt(timer.dataset.start); var stop = parseInt(timer.dataset.stop); var value = parseInt(timer.dataset.value); - var now = Math.floor(Date.now() / 1000); + var now = Math.floor(Date.now() / 1000) + offset; var left = stop - now; var total = stop - start; @@ -13,9 +15,9 @@ function update_timer(timer){ value = Math.max(value * 3 / 10, value * left / total); timer.innerHTML = Math.floor(value); } else { - var hours = left / 60 / 60; + var hours = Math.floor(left / 60 / 60); hours = hours < 10 ? '0' + hours : hours; - var minutes = left / 60 % 60; + var minutes = Math.floor(left / 60) % 60; minutes = minutes < 10 ? '0' + minutes : minutes; var seconds = left % 60; seconds = seconds < 10 ? '0' + seconds : seconds; @@ -23,7 +25,19 @@ function update_timer(timer){ } } -$(() => $('.timer').each(item => { - update_timer(item); - setInterval(() => update_timer(item), 1000); -})); +$(() => { + $('.timer').each(item => { + update_timer(item); + setInterval(() => update_timer(item), 1000); + }); + if($('.timer').length > 0) { + let xhr = new XMLHttpRequest(); + xhr.open('HEAD', '/'); + xhr.onload = () => { + let srvtime = Date.parse(xhr.getResponseHeader('Date')); + offset = Math.ceil((srvtime - Date.now()) / 1000); + console.log("Offset from server: " + offset); + }; + xhr.send(); + } +});