Jackson Jackson - 1 month ago 15
Javascript Question

Javascript: setinterval start and stop function?

I'm tying to create stop and start functions for a setinterval.

I have been trying everything but I can't seem to get it right!

this is my code:

function myStartFunction() {
var myVar = setInterval(function(){ myTimer() }, 6000);

function myTimer() {

$.ajax({
type:"post",
url:"myphppage.php",
datatype:"html",
success:function(data)
{
if(data!="")
{



}
}
});

}

}

function myStopFunction() {
clearInterval(myVar);
}


and this is how I've been trying to call them (This is how I NEED to call them):

to start it:

myStartFunction();


and to stop it:

myStopFunction();


but this is not correct and I know it.

could someone please advise on this issue as I've practically been pulling my hair out!

Thanks in advance.

Answer

Declare myVar as global (outside the functions), cause in your example myStopFunction can't see it.

var myVar;

function myStartFunction() {
    myVar = setInterval(function(){ myTimer() }, 6000);
}

function myTimer() {
    $.ajax({
      type:"post",
      url:"myphppage.php",
      datatype:"html",
      success:function(data)
      {  
         if(data!="")
         {
         }
      }
    });
}

function myStopFunction() {
    clearInterval(myVar);
}