0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 705 Просмотров
*

tooth

  • Захожу иногда
  • 67
  • 1 / 5
Таймер обратного отчета
« : 07.07.2016, 14:12:03 »
Здравствуйте дорогие форумчане! помогите решить проблему на сайте стоит таймер обратного отчета до акции осталось столько столь, при завершении таймер останавливается и все, а мне нужно чтобы он заново начинал отчет времени по окончаний! вот код скрипта, буду очень любезен за помощь! !

$(function () {
   placeholder_emul();
//   my_countdown();
   side_box();
   show_modal(".js_control_v1", ".modal_1");
   show_modal(".js_control_v2", ".modal_2");
   show_modal(".js_control_v3", ".modal_3");
   close_modal();
   closeThanks();
   slider_v1('.slider_v1');
   slider_v1('.back_slider');
   double_slider();
   fliptimer();
});

function placeholder_emul() {
   if (!Modernizr.input.placeholder) {

      $('[placeholder]').focus(
         function () {
            var input = $(this);
            if (input.val() == input.attr('placeholder')) {
               input.val('');
               input.removeClass('placeholder');
            }
         }).blur(
         function () {
            var input = $(this);
            if (input.val() == '' || input.val() == input.attr('placeholder')) {
               input.addClass('placeholder');
               input.val(input.attr('placeholder'));
            }
         }).blur();
      $('[placeholder]').parents('form').submit(function () {
         $(this).find('[placeholder]').each(function () {
            var input = $(this);
            if (input.val() == input.attr('placeholder')) {
               input.val('');
            }
         })
      });

   }
}

function my_countdown() {
   var $year = 2016;
   var $month = 7;
   var $day = 29;
   var $hour = 0;
   var $min = 0;

   $month--;
   var $date = new Date($year, $month, $day, $hour, $min);
   $(".countdown").countdown({until: $date, format: "d,H,M,S"})
}

function side_box() {
   $('.btn_side').on('click', function () {
      $(this).closest('.consult_box').toggleClass('active');
   });

   // side_box hide after click submit
   $('.js_side_control').on('click', function () {
      setTimeout(function () {
         $('.consult_box').removeClass('active');
      }, 1000);
   })
}

function show_modal(m_trigger, m_modal) {
   m_trigger = $(m_trigger);
   m_modal = $(m_modal);
   var $modal_wrap = m_modal.closest('.modal_wrap');

   m_trigger.on('click', function () {
      $modal_wrap.fadeIn(500);
      m_modal.addClass('active');
      return false;
   });

}

$(document).on('click', function (event) {
   if ($(event.target).closest(".modal_box").length) {

   }
   else {
      $('.modal_box').removeClass('active');
      $('.modal_wrap').fadeOut(700);
      event.stopPropagation();
   }

});

function close_modal() {
   $('.modal_close').on('click', function () {
      $(this).closest(".modal_box").removeClass('active');
      $(".modal_wrap").fadeOut(700);
      return false;
   });
}

function hideThanksBox() {
   $('#thanks_box').fadeOut(500);
   $('.thanks_main').fadeOut(700);
}
function closeThanks() {
   $('#thanks_close, .btn_ok').on('click', function () {
      hideThanksBox();
      return false;
   });
}
function slider_v1(slider) {
   var $main_slider = $(slider);
   if ($main_slider.length) {
      $main_slider.bxSlider({
         pager: false,
         mode: 'fade',
         controls: true,
         prevText: "",
         nextText: ""
      });
   }

}

function double_slider() {
   $('.main_slider_wrap .bx-prev').on('click', function () {
      $('.back_slider_wrap .bx-prev').click();
   });
   $('.main_slider_wrap .bx-next').on('click', function () {
      $('.back_slider_wrap .bx-next').click();
   })
}
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

function setCookie(name, value, options) {
  options = options || {};

  var expires = options.expires;

  if (typeof expires == "number" && expires) {
    var d = new Date();
    d.setTime(d.getTime() + expires*1000);
    expires = options.expires = d;
  }
  if (expires && expires.toUTCString) {
     options.expires = expires.toUTCString();
  }

  value = encodeURIComponent(value);

  var updatedCookie = name + "=" + value;

  for(var propName in options) {
    updatedCookie += "; " + propName;
    var propValue = options[propName];   
    if (propValue !== true) {
      updatedCookie += "=" + propValue;
     }
  }

  document.cookie = updatedCookie;
}

function formatTimeOfDay(millisSinceEpoch) {
  var secondsSinceEpoch = (millisSinceEpoch / 1000);
  var days = (secondsSinceEpoch / 86400) | 0;
  if(days >= 1){
     var days = days.toFixed(0);
     secondsSinceEpoch = secondsSinceEpoch - days*86400;
  }
  var hours = (secondsSinceEpoch / 3600) | 0;
  if(hours >= 1){
     var hours = hours.toFixed(0);
     secondsSinceEpoch = secondsSinceEpoch - hours*3600;
  }
  var minutes = (secondsSinceEpoch / 60) | 0;
  if(minutes >= 1){
     var minutes = minutes.toFixed(0);
     secondsSinceEpoch = secondsSinceEpoch - minutes*60;
  }
  seconds = secondsSinceEpoch.toFixed(0);
  return days + (hours < 10 ? ":0" : ":")
      + hours + (minutes < 10 ? ":0" : ":")
      + minutes + (seconds < 10 ? ":0" : ":")
      + seconds;
}

function fliptimer() {
   if(getCookie('stockTimerStart') === undefined){
      setCookie('stockTimerStart', $.now());
   }
   // 172800000 48 часа
   var startTime = 772800000 - ($.now() - getCookie('stockTimerStart'));// время до конца акции миллисекундах
   if(startTime <= 0){
      var timer = "00.00:00:00";
   }else{
      var timer = formatTimeOfDay(startTime);
   }
   $('#counterCID1 .digits').countdown({
      image: 'img_count/digits1_middle_black.png',
      startTime: timer,
      startTimeNext: '0:0:0:0',
      startTimeEnd: '0:0:0:0',
      intervalsCnt: 0,
      digitWidth: 36,
      digitHeight: 52,
      stepTime: 60,
      timerEnd: function () {
         $('.timer_hold .cap').addClass('red').html('Акция завершена!');
      }
   });
}











Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Самая простая форма заказа обратного звонка

Автор inko_gnito

Ответов: 4
Просмотров: 2052
Последний ответ 07.10.2013, 16:49:21
от inko_gnito