Оптимизировать код для функции с таймером
Помогите оптимизировать мою функцию для таймера.
startButton.addEventListener('click', () => {
clearInterval(interval);
interval = setInterval(startTimer, 10)
});
function startTimer() {
// milliseconds
milliseconds++;
millisecondsElement.textContent = addZero(milliseconds);
if (milliseconds > 99) {
milliseconds = 0;
millisecondsElement.textContent = addZero(milliseconds);
seconds++;
secondsElement.textContent = addZero(seconds);
}
// Seconds
secondsElement.textContent = addZero(seconds);
if (seconds > 59) {
seconds = 0;
secondsElement.textContent = addZero(seconds);
minutes++;
minutesElement.textContent = addZero(minutes);
}
// Minutes
minutesElement.textContent = addZero(minutes);
if (minutes > 59) {
minutes = 0;
minutesElement.textContent = addZero(minutes);
hours++;
hoursElement.textContent = addZero(hours);
}
// Hours
if(hours > 24) {
clearTimer()
}
}
У меня в трёх условиях почти одинаковый код. Хотелось бы заменить его на функцию, которая принимала бы 4 параметра.
function updateClock(currentValue, currentElement, nextValue, nextElement) {
currentValue = 0;
currentElement.textContent = addZero(currentValue);
nextValue++;
nextElement.textContent = addZero(nextValue);
}
Но при вызове такой функции внутри условия, ничего не получается.