165 votes

Comment effacer cet setInterval

Normalement, id définit l'intervalle sur une variable, puis efface la variable comme var the_int = setInterval();clearInterval(the_int); mais pour que mon code fonctionne, je le mets dans une fonction anonyme:

 function intervalTrigger() {
    setInterval( function() {
        if(timedCount >= markers.length){timedCount = 0;}
        google.maps.event.trigger(markers[timedCount], "click");
        timedCount++;
    }, 5000 );
};
intervalTrigger();
 

Comment puis-je effacer cela? J'ai essayé var test = intervalTrigger();clearInterval(test); mais cela n'a pas fonctionné. Ce qui, je m'attendais à ce que cela ne fonctionne pas, mais simplement à lui donner un coup de feu.

En gros, j’ai besoin que cela arrête de déclencher une fois que mon Google Map est cliqué ... par exemple

 google.maps.event.addListener(map, 'click', function() {
    //stop timer
});
 

267voto

Guffa Points 308133

La `` méthode retourne un handle que vous pouvez utiliser pour effacer l’intervalle. Si vous souhaitez que la fonction de le retourner, vous retournez simplement le résultat de l’appel de méthode :

Alors pour effacer l’intervalle :

10voto

Marian Zburlea Points 2636
// Initiate set interval and assign it to intervalListener
var intervalListener = self.setInterval(function () {someProcess()}, 1000);
function someProcess() {
  console.log('someProcess() has been called');
  // If some condition is true clear the interval
  if (stopIntervalIsTrue) {
    window.clearInterval(intervalListener);
  }
}

1voto

Anup Points 869
the_int=window.clearInterval(the_int);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X