Проблема с 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, время: 12:52. |