Warum die Funktion setTimeout () nur einmal ausgeführt wird?

8

Ich mache ein Javascript-Bookmarklet, das alle Bilder in regelmäßigen Abständen ändert.

%Vor%

Aber es läuft nur einmal. Was ist das Problem hier?

    
Shubham 24.12.2010, 04:03
quelle

6 Antworten

26

Suchen Sie zufällig setInterval() anstatt setTimeout() ?

%Vor%     
BoltClock 24.12.2010, 04:09
quelle
0

Hier ist derselbe Code zur besseren Übersichtlichkeit eingerückt.

%Vor%

window.setTimout () führt den übergebenen Code nur einmal aus, weil er dazu bestimmt ist. Wenn Sie Code häufiger ausführen möchten, verwenden Sie window.setInterval ().

    
Oswald 24.12.2010 04:06
quelle
0

Sollte es am Ende Ihrer for-Schleife nicht i++ sein?

    
epaps 24.12.2010 04:10
quelle
0

Es gibt auch einen Syntaxfehler.

für (i = 0; i & lt; = document.getElementsByTagName ('img'). length; i ++ )

    
miqbal 24.12.2010 04:10
quelle
0

Sie müssen den ...

setzen %Vor%

innerhalb der Funktion x () Klammern {} und es funktioniert mit SetTimeout ()

%Vor%

Sie können nur x () aufrufen, nachdem alle Bilder auf der Seite geladen wurden oder ein Fehler aufgetreten ist.

    
gravityboy 24.12.2010 05:32
quelle
-1

Es könnte window.setTimeOut("x",100)

sein

Bearbeiten: Korrigiere die Antwort auf dieses window.setTimeout(x,100) .

PS: Das passiert, wenn Sie einfach mit IDEs arbeiten.

    
Biswanath 24.12.2010 04:07
quelle

Tags und Links