How to stop Javascript setInterval

Stopping or cancelling a setInterval call in Javascript involves using clearInterval. You must however use clearInterval on a variable that is assigned to the setInterval you want stopped.

setInterval calls a function every interval (milliseconds) as set. It will continue to run and refresh the page until the viewer leaves the page.

The example below is a classical setinterval call that continuously fetches and displays a value, this is put into the function doTheCall().

function doTheCall() {
    $.ajax({
        url: 'filename.php',
        success: function (data) {
            // do stuff...
            if (data === 'done') {
                clearInterval(intervalCall);
            }
        }
    });
}

The setinterval is assigned to the variable intervalCall, because to use clearInterval it must point to a variable.

var intervalCall = setInterval(doTheCall, 1000);

Back in the doTheCall function, once a condition is met (the example was === ‘done’) clearInterval is called onto the variable inervalCall thus ending the setInterval.

clearInterval(intervalCall);

Other methods to call on clearInterval could be a button or general time sine page loaded.