Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2014, 22:49
Интересующийся
Отправить личное сообщение для DmitriSpartak Посмотреть профиль Найти все сообщения от DmitriSpartak
 
Регистрация: 05.05.2013
Сообщений: 12

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

Счетчик работает нормально, но иногда появляются, когда счетчик кончается, появляются отрицательные числа и он начинает идти в "минус"
Помогите, в чем может быть проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2014, 23:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DmitriSpartak,
попробуйте обновлённую версию тут

если ошибка повторится скопируйте строку вывода с отрицательными данными.
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2014, 00:09
Интересующийся
Отправить личное сообщение для DmitriSpartak Посмотреть профиль Найти все сообщения от DmitriSpartak
 
Регистрация: 05.05.2013
Сообщений: 12

Спасибо, что так быстро откликнулись.
У меня вообще с вашим скриптом все отлично, а вот у знакомого в Москве почему-то иногда появляются отрицательное время, вот полтора часа назад примерно отображалось:0 дней 0-1 часов, 0-28 минут, 0-20 секунд.
Причем время у него идет в сторону увеличения(т.е. приближается к нулю).
Вот сейчас полночь прошла и снова все заново запустилось, причем уже как положено (1 день 23 часа 59 минут 59 секунд)
Помогите пожалуйста, не понимаю в чем проблема
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2014, 00:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DmitriSpartak,
вы пост выше видите -- там ссылка -- заберите скрипт проверьте потом пишите про ошибки
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновляемый таймер на javascript smillyhamster Общие вопросы Javascript 1 31.12.2013 10:30
Зацикленный таймер jacko Общие вопросы Javascript 2 01.07.2012 14:32
Как сделать таймер как в САР? jelome Элементы интерфейса 0 27.06.2011 12:40
Таймер для слайдера (jQuery) RamPi Events/DOM/Window 0 23.05.2011 14:52
Как два раза вставить таймер alexvost Общие вопросы Javascript 2 08.02.2011 02:28