molily: jQuery-Interval

Beitrag lesen

Hi!

var refreshId = setInterval(func(parameter), 5000);

Hier rufst du func auf und übergibst den Rückgabewert des Funktionsaufrufs an setInterval.

Die Funktion gibt aber nichts zurück. Du willst sie hier nicht ausführen, sondern nur die Funktion (das Funktionsobjekt) übergeben.

setInterval(func, 5000)

Wenn du Parameter übergeben willst, so geht das mit einer weiteren Wrapper-Funktion (eine Closure):

setInterval(function() { func(parameter); }, 5000)

Oder man nutzt Function Binding bzw. Partial Function Application:

setInterval(func.bind(undefined, parameter), 5000)

Das läuft auf dasselbe hinaus.

Mathias