Показать сообщение отдельно
  #1 (permalink)  
Старый 06.01.2016, 23:58
Новичок на форуме
Отправить личное сообщение для R45HeR Посмотреть профиль Найти все сообщения от R45HeR
 
Регистрация: 06.01.2016
Сообщений: 2

Неправильно работает таймер обратного отсчёта на сайте.
Ребята, есть таймер, который каждый день отсчитывает время (дни, часы, минуты, секунды) до конца дня (до 00 часов). Вот его код:
function two(a) {
    return (9 < a ? "" : "0") + a
}

function formatTime(a) {
    a = Math.floor(a / 1E3);
    var b = Math.floor(a / 60),
        c = Math.floor(b / 60),
        d = c / 24 | 0,
        c = c % 24;
    a %= 60;
    b %= 60;
	a = Math.abs(a);
	b = Math.abs(b);
	c = Math.abs(c);
  return two(d)  + " "  + " " + two(c) + " "  + " " + two(b) + " "  + " " + two(a) + " " 
};

function Time() {
    var data = Date.parse('01/1/2016') // дата начала 1 шестидневки  строго "месяц/день/год"
    data = new Date(data)
    for (; (new Date).getTime() > data; )  {
    data.setDate(data.getDate()+1)
    }
    var a = data, m = -360 - a.getTimezoneOffset();
    a.setMinutes(m, 0, 0);
    var a = a.getTime() -  (new Date).getTime();
    document.getElementById("showtime").innerHTML = formatTime(a);
    window.setTimeout(Time, 1E3)
};
Time()


Соответственно, на странице элементы с ID = showtime превращаются в таймер обратного отсчёта.

ПРОБЛЕМА в том, что таймер доходит до нуля в 22:00 а потом цифры уходят в минус. Вот так это выглядит:

В 00:00 таймер сбрасывается и начинает отсчитывать С 22 ЧАСОВ. Т.е. сдвиг 2 часа. Как это исправить?
Код писал не я, а какой-то криворукий дебил. Уже много косяков исправил, но с таймером разобраться не могу.

Последний раз редактировалось R45HeR, 07.01.2016 в 00:05.
Ответить с цитированием