В таймере при повторных кликах на кнопку старт она приостанавливает таймер, если перестать кликать все продолжает работать. Помогите решить

let hour = 0,
minutes = 0,
seconds = 0,
interval;

StartButton.addEventListener('click', () => {

    clearInterval(interval);
    interval = setInterval(timer, 1000);
    // if (!interval) {
    //     interval = setInterval(timer, 1000);
    //   }    
    
})


PauseButton.addEventListener('click', () => {
    clearInterval(interval)
})




ButtonStop.addEventListener('click', () => {
    clearInterval(interval)
    clear()
})
  
let dateEnd = new Date('2022-12-14 13:09:40');
    dateNow = new Date()
    delta = Math.floor((dateEnd.getTime() - dateNow.getTime()) / 1000);
  
function timer() {
    let countDown = delta;
    
    hour = Math.floor(countDown / 60 / 60);
    countDown -= (hour * 60 * 60) ;
 
    if (hour <= 9) {
        hourEl.innerHTML = '0' + hour;
    } else {
        hourEl.innerHTML = hour;
    }
    
    minutes = Math.floor(countDown / 60);
    countDown -= minutes * 60;
    if (minutes <= 9) {
        minuteEl.innerHTML = '0' + minutes;
    } else {
        minuteEl.innerHTML = minutes;
    }
    
    seconds = Math.floor(countDown);
    if (seconds <= 9) {
        secondEl.innerHTML = '0' + seconds;
    } else {
        secondEl.innerHTML = seconds;
    }

function stop() {
    let d = Date.now()
    
    if (d >= dateEnd) {
        clearInterval(interval)
        console.log('stop')
        hour = 0;
        hourEl.innerHTML = '0' + hour;
        minutes = 0;
        minuteEl.innerHTML = '0' + minutes;
        seconds = 0;
        secondEl.innerHTML = '0' + seconds
    }
}

stop()

    delta--;
}

function clear() {
    hour = 0;
    hourEl.innerHTML = '0' + hour;
    minutes = 0;.
    minuteEl.innerHTML = '0' + minutes;
    seconds = 0;
    secondEl.innerHTML = '0' + seconds
}

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