Created
February 16, 2018 18:07
-
-
Save onskyD/cc7547b8c536f58ea3e1d61ce6dadc2c to your computer and use it in GitHub Desktop.
My solution "count up" in jQuery.countdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var elapse = true; | |
var element = $('.html_element'); | |
var template = element.data('template'); | |
var time = new Date(element.data('date') * 1000); | |
if (elapse){ | |
var finishDate = new Date().getTime(); | |
} else { | |
var finishDate = time.getFullYear() + '/' + (time.getMonth() + 1) + '/' + time.getDate(); | |
} | |
element.countdown(finishDate, { | |
elapse: elapse | |
}).on('update.countdown', function(event) { | |
if (event.elapsed){ | |
var offset = getDateOffset((event.timeStamp - time) / 1000); | |
var result = template; | |
result = result.replace('%D', offset.days); | |
result = result.replace('%H', offset.hours); | |
result = result.replace('%M', offset.minutes); | |
result = result.replace('%S', offset.seconds); | |
element.html(result); | |
} else { | |
element.html(event.strftime(template)); | |
} | |
}); | |
function getDateOffset(timeStamp){ | |
var seconds = parseInt(timeStamp, 10); | |
var days = Math.floor(seconds / (3600 * 24)); | |
seconds -= days * 3600 * 24; | |
var hours = Math.floor(seconds / 3600); | |
seconds -= hours * 3600; | |
var minutes = Math.floor(seconds / 60); | |
seconds -= minutes * 60; | |
return { | |
days: days, | |
hours: hours, | |
minutes: minutes, | |
seconds: seconds | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment