Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2014, 10:50
Профессор
Отправить личное сообщение для Veterinar Посмотреть профиль Найти все сообщения от Veterinar
 
Регистрация: 27.12.2013
Сообщений: 167

Проблема с getMinutes()
Подскажите, умоляю!!!

Вообще уже чуть не рехнулся... более идиотской "проблемы" не встречалось никогда. Всего навсего счетчик времени.

Когда секунды отматываются до 0, кто-то спрыгивает с ума: либо я, либо браузер, либо компутер, но начинается отсчёт минут с той же скоростью, как и секунды...

var dif=35;
td = new Date();
function Timer(){
	dif = dif-1;
	td.setSeconds(dif);
	d = 0; //td.getDate();
	h = td.getHours();
	m = td.getMinutes();
	s = td.getSeconds();
	document.getElementById('countbox').innerHTML='Осталось:'+
	' дней:'+((d<10)?'0':'')+d+
	' часов:'+((h<10)?'0':'')+h+
	' мин:'+((m<10)?'0':'')+m+
	' сек:'+((s<10)?'0':'')+s+
	' dif='+dif;
};
setInterval(Timer, 1000);


<body style="color: #0264d0">
<div id="countbox">тут время</div>
</body>


Вся сводящая с ума мутотень тут: http://ledagregator.ru/timer.html

Последний раз редактировалось Veterinar, 09.07.2014 в 11:02.
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2014, 11:40
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Как Вы думаете, что будет делать td.setSeconds(-1) ?
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2014, 11:44
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Что должна делать td.setSeconds(dif) ?
упс =)
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2014, 11:45
Профессор
Отправить личное сообщение для Veterinar Посмотреть профиль Найти все сообщения от Veterinar
 
Регистрация: 27.12.2013
Сообщений: 167

Уважаемый, BETEPAH!
Я уже, как говорил - умом тронулся. Так что думать не в состоянии.
Предполагаю, что она должна изменить время на указанное количество секунд.

ЗЫ: При достижении счетчиком 0 я его переустанавливал в 59, но это, увы, не помогает. И очень хочется написать матом...
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2014, 11:48
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Veterinar,
устанавливая секунды на -1, Вы тем самым откручиваете 1 минуту. Каждую итерацию.
Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2014, 11:51
Профессор
Отправить личное сообщение для Veterinar Посмотреть профиль Найти все сообщения от Veterinar
 
Регистрация: 27.12.2013
Сообщений: 167

BETEPAH, до этого я допёр ))))

Но, скажите, пожалуйста, с какого рожна, при установке счетчика в заново в 59, минуты продолжают херачить со скоростью секунд?

Спасибо. Извините за "французский"
Ответить с цитированием
  #7 (permalink)  
Старый 09.07.2014, 11:56
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Veterinar
скажите, пожалуйста, с какого рожна, при установке счетчика в заново в 59
Покажите код.
P.S. я так понимаю, это спортивный интерес? Так как реализация самого таймера ужасна и при желании здесь, на форуме можно найти с десяток таймеров.

Последний раз редактировалось BETEPAH, 09.07.2014 в 12:00.
Ответить с цитированием
  #8 (permalink)  
Старый 09.07.2014, 12:02
Профессор
Отправить личное сообщение для Veterinar Посмотреть профиль Найти все сообщения от Veterinar
 
Регистрация: 27.12.2013
Сообщений: 167

BETEPAH, спасибо!

Хоть и стыдно до невозможности, но тот бред который сейчас сваял вот тут: http://ledagregator.ru/tim.html

Там всего 15 строчек...
Ответить с цитированием
  #9 (permalink)  
Старый 09.07.2014, 12:16
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

там все работает. Тот трюк, который сделали с минутами, можно было бы с секундами сделать и не наворачивать лишний код.
Т.е. заменить
dif = dif-1;
	if(dif<0){
		td.setMinutes(td.getMinutes()-1);
		dif=59;
	};
	td.setSeconds(dif)

на
td.setSeconds(td.getSeconds()-1)

а изначальные секунды устанавливать вне функции таймера.
Ответить с цитированием
  #10 (permalink)  
Старый 09.07.2014, 12:18
Профессор
Отправить личное сообщение для Veterinar Посмотреть профиль Найти все сообщения от Veterinar
 
Регистрация: 27.12.2013
Сообщений: 167

BETEPAH, точно!
Спасибо!!!
А я уже умом рёхнулся...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47