Таймер отображает отрицательные числа
Нашел на сайте вот этот код:
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;
return d + days(d) + two(c) + hours(c) + two(b) + minutes(b) + two(a) + seconds(a);
};
// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")
function plural(str1,str2,str5){
return function ( n ) {
return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))
}
}
var days = plural('день', 'дня', 'дней'),
hours = plural('час', 'часа', 'часов'),
minutes = plural('минута', 'минуты', 'минут'),
seconds = plural('секунда', 'секунды', 'секунд');
function Time() {
var data = Date.parse('01/30/2014') // дата начала 1 шестидневки строго "месяц/день/год"
data = new Date(data)
for (; (new Date).getTime() > data; ) {
data.setDate(data.getDate()+2)
}
var a = data, m = -240 - a.getTimezoneOffset();
a.setMinutes(m, 0, 0);
var a = a.getTime() - (new Date).getTime();
document.getElementById("show").innerHTML = formatTime(a);
window.setTimeout(Time, 1E3)
};
Time();
Счетчик работает нормально, но иногда появляются, когда счетчик кончается, появляются отрицательные числа и он начинает идти в "минус" Помогите, в чем может быть проблема? |
DmitriSpartak,
попробуйте обновлённую версию тут если ошибка повторится скопируйте строку вывода с отрицательными данными. |
Спасибо, что так быстро откликнулись.
У меня вообще с вашим скриптом все отлично, а вот у знакомого в Москве почему-то иногда появляются отрицательное время, вот полтора часа назад примерно отображалось:0 дней 0-1 часов, 0-28 минут, 0-20 секунд. Причем время у него идет в сторону увеличения(т.е. приближается к нулю). Вот сейчас полночь прошла и снова все заново запустилось, причем уже как положено (1 день 23 часа 59 минут 59 секунд) Помогите пожалуйста, не понимаю в чем проблема |
DmitriSpartak,
вы пост выше видите -- там ссылка -- заберите скрипт проверьте потом пишите про ошибки |
| Часовой пояс GMT +3, время: 12:15. |