Categories: Development

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.

 

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

2 years ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

2 years ago

Early September spring shots

Some early September spring shots from a bushwalk, It is still too early for wildflowers.

3 years ago

Cloning an NVMe to SK Hynix Platinum P41 NVMe

I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…

3 years ago

Using Laravel’s deleteDirectory to delete folders and their contents

If you ever needed a simple solution in Laravel to delete an entire directory and…

3 years ago

How to allow only 1 user to register in a Laravel application

How to enforce only one user to register or be registered in a Laravel web…

3 years ago