Таймер отображает отрицательные числа
Нашел на сайте вот этот код:
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, время: 03:59. |