Оптимизировать код для функции с таймером

Помогите оптимизировать мою функцию для таймера.

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);
}

Но при вызове такой функции внутри условия, ничего не получается.


Ответы (0 шт):