Проблема с 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 |
Как Вы думаете, что будет делать td.setSeconds(-1) ?
|
Что должна делать td.setSeconds(dif) ?
упс =) |
Уважаемый, BETEPAH!
Я уже, как говорил - умом тронулся. Так что думать не в состоянии. Предполагаю, что она должна изменить время на указанное количество секунд. ЗЫ: При достижении счетчиком 0 я его переустанавливал в 59, но это, увы, не помогает. И очень хочется написать матом... |
Veterinar,
устанавливая секунды на -1, Вы тем самым откручиваете 1 минуту. Каждую итерацию. |
BETEPAH, до этого я допёр ))))
Но, скажите, пожалуйста, с какого рожна, при установке счетчика в заново в 59, минуты продолжают херачить со скоростью секунд? Спасибо. Извините за "французский" :) |
Цитата:
P.S. я так понимаю, это спортивный интерес? Так как реализация самого таймера ужасна и при желании здесь, на форуме можно найти с десяток таймеров. |
BETEPAH, спасибо!
Хоть и стыдно до невозможности, но тот бред который сейчас сваял вот тут: http://ledagregator.ru/tim.html Там всего 15 строчек... |
там все работает. Тот трюк, который сделали с минутами, можно было бы с секундами сделать и не наворачивать лишний код.
Т.е. заменить
dif = dif-1;
if(dif<0){
td.setMinutes(td.getMinutes()-1);
dif=59;
};
td.setSeconds(dif)
на td.setSeconds(td.getSeconds()-1) а изначальные секунды устанавливать вне функции таймера. |
BETEPAH, точно!
Спасибо!!! А я уже умом рёхнулся... |
| Часовой пояс GMT +3, время: 08:00. |