The_Nudge: Festellen, ob Bilder vollständig geladen wurden ?

Hallo,

ich habe eine Funktion geschrieben, in der Bilderadressen in einem
Array definiert werden. Um Ladezeit zu sparen, wird immer nur
das aktuelle Bild in ein Image Objekt geladen, dann 5 Sekunden Pause, während denen schon das nächste lädt etc. Wenn der Browser das Bild jedoch nicht vollständig laden konnte, kommt es zu unschönen Effekte.
Das muss ich doch aber mit JavaScript abfangen können ?
Mit if (this.image!=null) geht es anscheinend nicht.
Hat jemand eine Idee dazu ?

Viele Grüsse,

Frank aka The_Nudge

  1. Hallo,
    vielleicht hilft ja das weiter : http://selfhtml.teamone.de/javascript/objekte/images.htm#complete

    Ich habe gehört, daß dies allerdings manchmal nicht so ganz zuverlässig funktioniert.

  2. Hallo Frank

    Du solltest in das Bild den eventHandler onLoad notieren, der dann eine Variable stellt. Sind 5s um wird geprüft, ob die Variable gesetzt ist, aka wert x hat, und wenn ja wird die funktion normal weitergeführt, wenn nein könnte man entweder weitere 5s warten, oder man ändert den event Handler, dass er selber die änderungs funktion aufruft. Diese müsste in diesem Fall den event Handler auch wieder umstellen, dass er nur die Variable ändert.
    Das Ändern des Handlers geht mit [object].onload=funktionsname
    Für Funktionsname entweder den Namen einer Funktion, oder eine neue funktion, z.B. =new Function("fertig=true");

    Tschüß.Lukas

  3. Vielen Dank für Eure Tipps, ich werde dieses gleich
    mal ausprobieren !

    Grüsse aus dem Harz

    Frank aka THE_NUDGE