0

My program has two buttons. One is for execute other program by using jquery load function. Whenever I click execute button, it runs some other program abc.php using load function for n times, with some time gap like k mins. These n and k will be filled with html inputs. Using jquery, will retrieve these and passing to that program file in url.

To call this function setTimeout was used.

Second one is for cancel execution.

Now my doubt is, suppose I want to stop that execution with cancel button. Is there any way to stop it ?

Praveen
  • 55,303
  • 33
  • 133
  • 164
user2881803
  • 3
  • 1
  • 3
  • 1
    You should really give a code example of your JavaScript, but most likely you're talking about how to do [this](http://stackoverflow.com/questions/11123237/how-to-stop-a-timer-function-from-running) – Philipp Gayret Dec 13 '13 at 10:37
  • Check [this](http://stackoverflow.com/questions/1802936/stop-all-active-ajax-requests-in-jquery) – skos Dec 13 '13 at 10:38
  • Are you connecting to the PHP file ones at the time (re connect after other connection finishes) or all at the same time? – HMR Dec 13 '13 at 10:38
  • http://www.w3schools.com/jsref/met_win_cleartimeout.asp OR http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_cleartimeout –  Dec 13 '13 at 10:40

2 Answers2

4

I would do this using boolean variable.

For example: Consider a method, perform logging.

fun () {
  console.log("prints");
}

I would change it has

fun (isExecute) {
  if (isExecute) {
   console.log("prints");
  }
}

Run fun (true); cancel fun (false);


Updates:

It seems you use setTimeout(), then it is too easy without above approach.

Run var inter = setTimeout(fun); cancel clearTimeout(inter);

FYI: The reason for assigning to a variable inter is then only you can clear this time interval.

Praveen
  • 55,303
  • 33
  • 133
  • 164
0

set time for function:

timer = setTimeout(function(){$('#submenu').hide();},5000);

stop a function

clearTimeout(timer);
Mr.G
  • 3,413
  • 2
  • 16
  • 20