Festellen, ob Bilder vollständig geladen wurden ?
The_Nudge
- javascript
0 xNeTworKx0 Lukas Hänel0 The_Nudge
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
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.
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
Vielen Dank für Eure Tipps, ich werde dieses gleich
mal ausprobieren !
Grüsse aus dem Harz
Frank aka THE_NUDGE