Hallo,
Deswegen existiert ja checkAll(). Es soll überprüft werden, ob jedes Element geladen ist. Es startSlideshow() also nur ausgeführt werden, wenn wirklich alles geladen ist.
Ja, aber das kann schneller der Fall sein, als du denkst (Bilder schon im Cache z.B.). Wenn in onLoad bereits beim ersten Bild alles geladen ist, wird für die anderen trotzdem nochmal gecheckt, ob es so ist, und dann wieder die Show gestartet. So lese ich jedenfalls den Code.
Grund scheint scheinbar Zeile 34 zu sein. Die Fehler-Konsole sagt mir folgendes:
Fehler: images[imgNum] is undefined
Quelldatei: file:///home/christian/Programmierung/javascript/slideshow/index.html
Zeile: 34
Es ist mein liebster Fehler in Javascript: Zugriffsfehler! Gibt es in JS nicht irgendwie etwas wie Pointer, parent oder sonst so etwas?
Pointer? Um Gottes Willen, nein! Nur Referenzen. JS ist nicht C...
Es gibt eigentlich auch keine Konstanten in JS, jedenfalls nicht in ECMAScript.
Variablen sind entweder global oder lokal, je nachem ob man var
davorschreibt oder nicht. const
wird nicht von allen Browsern unterstützt (meines Wissens nur von Mozilla). Vielleicht ist das dein Problem.
Gruß, Don P