JS. Как отменить функцию setInterval()

JS. Как остановить функцию setInterval(), которую ранее уже запускали (проблема в том что они накладываются друг на друга) Необходимо чтобы спрайт двигался налево или направо (без остановки), когда происходит клик по краю canvas Вот часть кода:

function moveOnce(event){
    setInterval(function () {

        //right
        if (event.clientX >= 480+w && event.clientX <= w+512){
            if (x1+w <= 480+w){
                init();
                board.drawImage(char, x1, y1);
                x1++;   
            }
                
        }
        //left
        if (event.clientX >= w && event.clientX <= w+32){
            if (x1+w >= w){
                init();
                board.drawImage(char, x1, y1);
                x1--;
            }
                
        }   

    },10);      
    msg.value = "Клик в "+ event.clientX + ", "+ event.clientY +"!";
    
}

window.onload = init;
document.onmouseup = moveOnce;

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

Автор решения: Igor
let a;
function moveOnce(event){
  q = 0;
  clearInterval(a);  
  a = setInterval(function () {
    ...
→ Ссылка