Я считаю, что у моей проблемы есть простое решение, но я не могу понять, как это исправить ...
let x;
let op;
let horamin = 10;
let horamax = 15;
function hora (x, op){
if (x > horamin && x < horamax) {
if (op == 'soma') {
document.querySelector(".hora").innerText = x + 1
} else {
document.querySelector(".hora").innerText = x - 1
} ;
}
}
document.querySelector(".horaU").addEventListener('click', (event) = > {
x = parseInt(document.querySelector(".hora").innerText);
op = "soma";
hora(x, op);
//document.querySelector(".hora").innerText = x+1;
});
document.querySelector(".horaD").addEventListener('click', (event) = > {
x = parseInt(document.querySelector(".hora").innerText);
op = "diminui";
hora(x, op)
});
Все работает как задумано, до того как Достигаю значения horamin или horamax. Потом он просто перестает работать, сколько бы я ни нажимал. Как я могу это исправить?
Что вы ожидаете, когда x выйдет за пределы horamin и horamax? Ваша функция hora() спроектирована так, чтобы ничего не делать, когда она выходит за эти границы.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если число выходит за пределы допустимого диапазона, вы просто блокируете увеличение и уменьшение, я думаю, вы всегда хотите разрешить одно из действий:
if (op == 'soma') {
if (x >= horamax) return;
document.querySelector(".hora").innerText = x +1
} else {
if (x <= horamin) return;
document.querySelector(".hora").innerText = x -1
}
Какие ошибки в консоли?