Всем привет!
Столкнулся с пренеприятнейшей проблемой: при запуске этого кода хром мне радостно сообщает, что this.show() is not a function.
var Timer = {
elem: "",
seconds: 0,
minutes: 0,
tick: function() {
this.seconds++;
if (this.seconds == 60) {
this.minutes++;
this.seconds = 0;
}
if (this.minutes == 60) {
this.minutes = 0;
}
this.show();
},
show: function() {
let output = (Timer.prefInt(this.minutes, 2) + ":" + Timer.prefInt(this.seconds, 2));
$(this.elem).html(output);
},
init: function(element, interval) {
this.elem = element;
setInterval(this.tick, interval);
},
//support
prefInt: function (number, len) {
var result = "" + number;
while (result.length < len) {
result = "0" + result;
}
return result;
}
}
Вопрос в следующем: я открыл доселе неизвестный it-сообществу баг или где-то далеко по мне плачет один учебник по js?
Все this поменять на Timer не мог, поскольку их может быть несколько.