vitaliy-p
3/8/2016 - 2:44 PM

Timer via https://github.com/rendro/countdown Добавлены склонения на русском языке

Timer via https://github.com/rendro/countdown Добавлены склонения на русском языке

<div class="sale-counter__items js-timer" data-time="June 7, 2017 0:12:52">
    <div class="sale-counter__item">
        <span class="sale-counter__item-number js-days">5</span>
        <span class="sale-counter__item-label">Дней</span>
    </div>
    <div class="sale-counter__item">
        <span class="sale-counter__item-number js-hours">7</span>
        <span class="sale-counter__item-label">Часов</span>
    </div>
    <div class="sale-counter__item">
        <span class="sale-counter__item-number js-minutes">48</span>
        <span class="sale-counter__item-label">Минут</span>
    </div>
    <div class="sale-counter__item">
        <span class="sale-counter__item-number js-seconds">35</span>
        <span class="sale-counter__item-label">Секунд</span>
    </div>
</div><!-- /sale-counter__items -->
// var endDate = "June 7, 2087 15:03:26";
function leadingZero(value) {
  if (value < 10) {
    return "0" + value.toString();
  }
  return value.toString();
}

$('.js-timer').each(function() {
  var $self = $(this);

  var $days = $self.find('.js-days');
  var $hours = $self.find('.js-hours');
  var $minutes = $self.find('.js-minutes');
  var $seconds = $self.find('.js-seconds');

  var $daysText = $days.next();
  var $hoursText = $hours.next();
  var $minutesText = $minutes.next();
  var $secondsText = $seconds.next();

  $self.countdown({
    date: $self.data('time'),
    render: function(data) {

      var timerDays = this.leadingZeros(data.days);
      var formatedDays = ((dec = timerDays % 100) >= 11 && dec <= 19 || (dec = timerDays % 10) >= 5 || dec === 0 ? 'дней' : dec === 1 ? 'день' : 'дня');

      var timerHours = this.leadingZeros(data.hours);
      var formatedHours = ((dec = timerHours % 100) >= 11 && dec <= 19 || (dec = timerHours % 10) >= 5 || dec === 0 ? 'часов' : dec === 1 ? 'час' : 'часа');

      var timerMin = this.leadingZeros(data.min);
      var formatedMin = ((dec = timerMin % 100) >= 11 && dec <= 19 || (dec = timerMin % 10) >= 5 || dec === 0 ? 'минут' : dec === 1 ? 'минута' : 'минуты');

      var timerSec = this.leadingZeros(data.sec);
      var formatedSec = ((dec = timerSec % 100) >= 11 && dec <= 19 || (dec = timerSec % 10) >= 5 || dec === 0 ? 'секунд' : dec === 1 ? 'секунда' : 'секунды');

      $days.text(timerDays);
      $hours.text(timerHours);
      $minutes.text(timerMin);
      $seconds.text(timerSec);

      $daysText.text(formatedDays);
      $hoursText.text(formatedHours);
      $minutesText.text(formatedMin);
      $secondsText.text(formatedSec);
    }
  });
});