Estoy usando jQuery.countdown y trato de eliminar días/horas/minutos cuando el temporizador llega a 00 con la función de devolución de llamada de actualización .on('update.countdown', function(event) { . Entonces, casi funciona bien. pero, solo un problema . Se detiene en 01 seg cuando finaliza el último segundo en el último minuto. Por lo tanto, no se oculta. ¿Por qué no 00 seg?
Tengo: 01s
Debería ser: 00s
var countdown = $('.countdown[data-countdown-end]'); if (countdown.length > 0) { countdown.each(function() { var $countdown = $(this), finalDate = $countdown.data('countdown-end'); $countdown.countdown(finalDate) .on('update.countdown', function(event) { var format = '<span>%-d</span> day%!d ' + '<span>%H</span> hr ' + '<span>%M</span> min ' + '<span>%S</span> sec'; if(event.offset.totalDays === 0) { format = '<span>%H</span> hr ' + '<span>%M</span> min ' + '<span>%S</span> sec'; } if(event.offset.totalHours === 0) { format = '<span>%M</span> min ' + '<span>%S</span> sec'; } if(event.offset.totalMinutes === 0) { format = '<span>%S</span> sec'; } if(event.offset.totalSeconds === 0) { format = ''; } $countdown.html(event.strftime(format)); }); }); }Funciona bien sin actualizar la función de devolución de llamada:
si, he usado el código predeterminado sin devolución de llamada de actualización. Entonces, se detiene en 00 segundos cuando finaliza el último segundo en el último minuto.
Lo tengo (bien): 00d 00h 00m 00s
var countdown = $('.countdown[data-countdown-end]'); if (countdown.length > 0) { countdown.each(function() { var $countdown = $(this), finalDate = $countdown.data('countdown-end'); $countdown.countdown(finalDate, function(event) { $countdown.html(event.strftime( '%Dd %Hh %Mm %Ss' )); }); }); }¿Por qué no 00 segundos con código de devolución de llamada de actualización?
Finalmente obtuve la solución del ejemplo avanzado . Está funcionando bien con la función de devolución de llamada finish .
Final trabajando mi código a continuación:
var countdown = $('.countdown[data-countdown-end]'); if (countdown.length > 0) { countdown.each(function() { var $countdown = $(this), finalDate = $countdown.data('countdown-end'); $countdown.countdown(finalDate) .on('update.countdown', function(event) { var format = '<span>%-d</span> day%!d ' + '<span>%H</span> hr ' + '<span>%M</span> min ' + '<span>%S</span> sec'; if(event.offset.totalDays === 0) { format = '<span>%H</span> hr ' + '<span>%M</span> min ' + '<span>%S</span> sec'; } if(event.offset.totalHours === 0) { format = '<span>%M</span> min ' + '<span>%S</span> sec'; } if(event.offset.totalMinutes === 0) { format = '<span>%S</span> sec'; } $countdown.html(event.strftime(format)); }) .on('finish.countdown', function(event) { $countdown.addClass('disabled'); }); }); }CSS
.countdown.disabled {display:none;}