JQuery отсчет четверти часа - PullRequest
0 голосов
/ 29 января 2019

Я использую jquery Обратный отсчет для проекта.Я хочу показать, сколько времени люди должны заказать и получить на следующий день.

Что бы я ни пытался, я могу заставить это работать только с полными часами.Допустим, у меня есть время окончания 16.00, тогда отсчет времени работает.Когда я использую 15.48, скрипт не работает и показывает неправильное время.

Таким образом, идея моего сценария состоит в том, чтобы показать таймер дней, которые есть в моем массиве.Тогда я хочу показать таймер только между orderstart и orderexpiry временем.

Я просто не вижу, что я делаю неправильно (возможно, я слишком долго на это смотрю).Любая помощь с благодарностью.

HTML

<div id="order-countdown" data-orderstart="09.22" data-orderexpiry="17.15">
  <div class="countdown hidden"><span class="time">00:00:00</span></div>
</div>

jQuery

$(function(){
  initCutoffTimer(["1","2","3","4","5"]) //array with days to show timer
});

function initCutoffTimer(showDays){ 
 var dt = new Date(),
  time = dt.getHours(),
  year = dt.getFullYear(),
  month = dt.getMonth()+1,
  day = dt.getDate(),
  dayNr = dt.getDay(),
  currentDate = dt.getFullYear() + '/' + (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day,
 $.each(showDays, function(index, showDay){
    showDay = showDay.trim();
    showDay = parseInt(showDay);
    var showCountdownTill = parseInt($('#order-countdown').data('orderexpiry'));
    var showCountdownFrom = parseInt($('#order-countdown').data('orderstart'));
    if(dayNr == showDay && time >= showCountdownFrom) {
      $('#order-countdown .countdown .time').countdown(currentDate +' '+showCountdownTill+':00')
        .on('update.countdown', function(event) {
          var format = '%-H:%M:%S';
          $(this).html(event.strftime(format));
            $('#order-countdown .countdown').removeClass('hidden');
      }).on('finish.countdown', function(event) {
        $('#order-countdown .countdown').addClass('hidden');
      });
    }
  });

}
...