1789 Stimmen

setInterval-Aufruf in JavaScript stoppen

Ich verwende setInterval(fname, 10000); um alle 10 Sekunden eine Funktion in JavaScript aufzurufen. Ist es möglich, den Aufruf bei einem bestimmten Ereignis zu beenden?

Ich möchte, dass der Benutzer die wiederholte Aktualisierung der Daten stoppen kann.

12voto

Sksaif Uddin Punkte 504

El clearInterval() Methode kann verwendet werden, um einen Timer zu löschen, der mit der setInterval() Methode.

setInterval gibt immer einen ID-Wert zurück. Dieser Wert kann übergeben werden in clearInterval() um den Timer anzuhalten. Hier ist ein Beispiel für einen Timer, der bei 30 beginnt und bei 0 stoppt.

let time = 30;
const timeValue = setInterval((interval) => {
  time = this.time - 1;
  if (time <= 0) {
    clearInterval(timeValue);
  }
}, 1000);

11voto

assayag.org Punkte 435

In nodeJS können Sie die " este Schlüsselwort "setInterval" in der Funktion setInterval.

Sie können dies verwenden este Schlüsselwort zu clearInterval, und hier ist ein Beispiel:

setInterval(
    function clear() {
            clearInterval(this) 
       return clear;
    }()
, 1000)

Wenn Sie den Wert von este Schlüsselwort innerhalb der Funktion geben Sie ein Timeout-Objekt aus Timeout {...}

7voto

KingRider Punkte 1962

@cnu,

Sie können Intervall zu stoppen, wenn Sie versuchen, Code vor Blick ur Konsole Browser (F12) ... versuchen Kommentar clearInterval(trigger) ist wieder eine Konsole, nicht verschönern?

Prüfen Sie beispielsweise eine Quelle:

var trigger = setInterval(function() { 
  if (document.getElementById('sandroalvares') != null) {
    document.write('<div id="sandroalvares" style="background: yellow; width:200px;">SandroAlvares</div>');
    clearInterval(trigger);
    console.log('Success');
  } else {
    console.log('Trigger!!');
  }
}, 1000);

<div id="sandroalvares" style="background: gold; width:200px;">Author</div>

4voto

Ishara Amarasekera Punkte 1335

So habe ich die Methode clearInterval() verwendet, um den Timer nach 10 Sekunden anzuhalten.

function startCountDown() {
  var countdownNumberEl = document.getElementById('countdown-number');
  var countdown = 10;
  const interval = setInterval(() => {
    countdown = --countdown <= 0 ? 10 : countdown;
    countdownNumberEl.textContent = countdown;
    if (countdown == 1) {
      clearInterval(interval);
    }
  }, 1000)
}

<head>
  <body>
    <button id="countdown-number" onclick="startCountDown();">Show Time </button>
  </body>
</head>

3voto

Yergalem Punkte 1483

Variable deklarieren, um den von setInterval(...) zurückgegebenen Wert zuzuweisen zurückgegeben wird, und übergeben Sie die zugewiesene Variable an clearInterval();

z.B..

var timer, intervalInSec = 2;

timer = setInterval(func, intervalInSec*1000, 30 ); // third parameter is argument to called function 'func'

function func(param){
   console.log(param);
}

// Überall, wo Sie Zugang haben Zeitschaltuhr oben angegeben, rufen Sie clearInterval

$('.htmlelement').click( function(){  // any event you want

       clearInterval(timer);// Stops or does the work
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X