This example handle multiple cases of the countdown, show %-w
weeks and %-d
days only when necessary and handle pluralization, display the time as %D:%H:%M:%S
.
<div class="countdown-container">
Limited Time Only!
<span class="countdown" id="countdown1"></span>
</div>
$('#countdown1').countdown('2021/10/10 12:34:56')
.on('update.countdown', function (event) {
var format = '%H:%M:%S';
if (event.offset.totalDays > 0) {
format = '%-d day%!d ' + format;
}
if (event.offset.weeks > 0) {
format = '%-w week%!w ' + format;
}
$(this).html(event.strftime(''
+'<div class="countdown-block-container">'+
'<div class="countdown-block">'+
'<h1 class="clock-val">%d</h1>'+
'</div>'+
'<h4 class="clock-text"> Days </h4>'+
'</div>'+
'<div class="countdown-block-container">'+
'<div class="countdown-block">'+
'<h1 class="clock-val">%H</h1>'+
'</div>'+
'<h4 class="clock-text"> Hours </h4>'+
'</div>'+
'<div class="countdown-block-container">'+
'<div class="countdown-block">'+
'<h1 class="clock-val">%M</h1>'+
'</div>'+
'<h4 class="clock-text"> Mins </h4>'+
'</div>'+
'<div class="countdown-block-container">'+
'<div class="countdown-block">'+
'<h1 class="clock-val">%S</h1>'+
'</div>'+
'<h4 class="clock-text"> Sec </h4>'+
'</div>'));
})
.on('finish.countdown', function (event) {
$(this).html('This offer has expired!')
.parent().addClass('disabled');
});
Assign the callback uppon initialization, format the countdown %w
weeks %d
days %H
hours %M
minutes %S
seconds where each directive value is displayed within his own DOM element (<span>
) and all are zero-padded.
<div class="countdown-container">
New year's eve in
<span class="countdown" id="countdown2"></span>
</div>
$('#clock').countdown('2021/10/10', function(event) {
var $this = $(this).html(event.strftime(''
+ '<span>%w</span> weeks '
+ '<span>%d</span> days '
+ '<span>%H</span> hr '
+ '<span>%M</span> min '
+ '<span>%S</span> sec'));
});