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, время: 19:13. |