pomodoro clock
Всем привет.
Пишу Pomodoro clock, это проектная работа для freecodecamp. Вот рабочий пример. Есть такой код: window.onload = function(){ var params = { session:25, break: 5 }; var time = new Timer(params); time.start(); } function Timer(params){ this.session = params.session||25; this.break = params.session||5; } Timer.prototype.start = function(){ var self = this; var sec = 60; var timerId = setTimeout(tick, 1000); var timing = setTimeout() function tick(){ sec--; console.log(self.session+":"+sec); if(self.session==0&&sec==0)console.log("change time");//вот тут надо чтобы self.session=this.break а потом обратно когда выйдет его время. if(sec==0){ self.session--; sec=60; } timerId = setTimeout(tick, 1000); } } Не могу придумать как переключать время с 25 минут на 5 минут без повтора кода. Посоветуйте что нибудь пожалуйста. |
таймер-помидорка
killDucksForMoney,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script> window.onload = function(){ var params = { session:2, Break: 1 }; var time = new Timer(params); time.start(); } function Timer(params){ this.session = params.session||25; this.Break = params.Break||5; this.name = "session"; this.time = (params.session||25)*60*1000; this.timerId = null; } Timer.prototype.stop = function(){window.clearTimeout(this.timerId) } Timer.prototype.start = function(){ var self = this; self.stop(); var from = (new Date).getTime(); var to = from + self.time function tick(){ self.time = to - (new Date).getTime(); document.querySelector("#show").innerHTML = formatTime(self.time) + " " + self.name if(self.time <= 0){ self.name = self.name == "session" ? "Break" : "session"; self.time = self[self.name]*60*1000; self.start() } else self.timerId = setTimeout(tick, 1000); } tick() function two(a) { return (9 < a ? "" : "0") + a } function formatTime(a) { a = Math.floor(a / 1E3); var c = Math.floor(a / 60), d = Math.floor(c / 60); a %= 60; c %= 60; return two(d) + " : " + two(c) + " : " + two(a) } } </script> </head> <body> <div id="show"></div> </body> </html> |
Спасибо рони!
Ты все сделал за меня) Все работает! |
Rise, я вот только только понял это. И поспешил удалить сообщение, как увидел твое. Спасибо теперь понял)
|
killDucksForMoney,
зарезервированные слова лучше не использовать |
рони,
я и забыл что "break" зарезервировано, пока не увидел на форуме что он подсвечивается иначе. |
Часовой пояс GMT +3, время: 11:11. |