629 Stimmen

Was ist der einfachste Weg, um eine Funktion alle 5 Sekunden in jQuery aufrufen?

JQuery, wie man eine Funktion alle 5 Sekunden aufruft.

Ich suche nach einer Möglichkeit, den Wechsel von Bildern in einer Diashow zu automatisieren.

Ich würde lieber keine anderen Plugins von Drittanbietern installieren, wenn möglich.

1114voto

Doug Neiner Punkte 63907

Sie brauchen dafür kein jquery, in einfachem javascript wird folgendes funktionieren!

var intervalId = window.setInterval(function(){
  /// call your function here
}, 5000);

Um die Schleife zu beenden, können Sie

clearInterval(intervalId)

135voto

John Boker Punkte 80493

Können Sie ein Intervall auf der Seite mit setInterval registrieren, d.h.:

setInterval(function(){ 
    //code goes here that will be run every 5 seconds.    
}, 5000);

60voto

Ricardo Figueiredo Punkte 1346

Ein gutes Beispiel ist das Abonnieren eines setInterval() und die Verwendung eines clearInterval(), um die Endlosschleife zu beenden:

function everyTime() {
    console.log('each 1 second...');
}

var myInterval = setInterval(everyTime, 1000);

rufen Sie diese Zeile auf, um die Schleife zu beenden:

 clearInterval(myInterval);

50voto

Nur ein kleiner Tipp für die erste Antwort. Wenn Ihre Funktion bereits definiert ist, referenzieren Sie die Funktion, aber rufen Sie sie nicht auf!!! Setzen Sie also keine Klammern hinter den Funktionsnamen. Einfach so:

my_function(){};
setInterval(my_function,10000);

38voto

Steel Brain Punkte 3982

Die oben genannten Funktionen werden unabhängig davon ausgeführt, ob sie beim vorherigen Aufruf abgeschlossen wurden oder nicht, diese Funktion wird alle x Sekunden ausgeführt, sobald die Ausführung abgeschlossen ist

// IIFE
(function runForever(){
  // Do something here
  setTimeout(runForever, 5000)
})()

// Regular function with arguments
function someFunction(file, directory){
  // Do something here
  setTimeout(someFunction, 5000, file, directory)
  // YES, setTimeout passes any extra args to
  // function being called
}

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