Funktion nicht in setInterval definiert

7

Hallo, ich habe so etwas:

%Vor%

Scheint ziemlich einfach zu sein, aber es kommt trotzdem zurück: cloudScroll ist nicht definiert.
Warum?

    
Drink86 08.12.2010, 16:00
quelle

4 Antworten

22

Versuchen Sie, die Funktion direkt zu übergeben, eine Zeichenfolge ist ziemlich veraltet:

%Vor%     
Kobi 08.12.2010, 16:03
quelle
9

setInterval wird im globalen Namespace ausgeführt, aber Ihre Cloud-Scroll-Funktion wird in der anonymen Funktion document.ready definiert.

Es sollte Ihr Problem beheben und es ist auch besser, Funktionsreferenzen an setInterval zu übergeben als an Strings (die letztendlich ausgewertet werden, was für die Performance schlechter ist):

%Vor%

Sie könnten auch die cloudScroll-Definition in die Intervallfunktion einfügen.

    
mqsoh 08.12.2010 16:05
quelle
2

Probieren Sie es aus:

%Vor%

... und wenn Sie Argumente übergeben möchten:

%Vor%

BEARBEITEN Partrick erwähnt, dass IE keine Argumente in der oben beschriebenen Weise unterstützt. Überrascht habe ich das jetzt nicht. Jedenfalls macht das die Verwendung einer anonymen Funktion durch mqsoh relevant. Weil Sie eine gegebene Funktion mit Argumenten wie folgt ausführen können:

%Vor%     
Zevan 08.12.2010 16:04
quelle
0

Wenn Sie die Funktionsreferenz anstelle einer Zeichenfolge übergeben, funktioniert sie:

%Vor%

Nur um es funktionierend zu zeigen: Ссылка

    
Jonathon Bolster 08.12.2010 16:03
quelle

Tags und Links