Rondra: precache grafiken mti wildcards

Hi zuammen!

Mich würde es mal interessieren, ob es mit JS möglich ist, eine liste von bildern zu preloaden, damit der seitenaufbau nich so teilweise passiert.

Ich weiss dass es so geht:

imageDB = new Array(4)
for (var i = 0; i < imageDB.length ; i++) {
 imageDB[i] = new Image(120,90)
 imageDB[i].src = "desk" + (i+1) + ".gif"
}
(http://www.dannyg.com/javascript/imgobj/imgobject.htm)
das setzt aber voraus dass alle grafiken so durchnummeriert sind.
Ist es möglich statt
 imageDB[i].src = "desk" + (i+1) + ".gif"
wildcards zu benutzen? So irgendwie:
 imageDB[i].src = "desk" + (*) + ".gif"

möchte eigentlich das gesamte image-verzeichnis preloaden.

Geht das?

liebe Grüsse und danke
Rondra

  1. hallo,

    Mich würde es mal interessieren, ob es mit JS möglich ist, eine liste von bildern zu preloaden, damit der seitenaufbau nich so teilweise passiert.

    Also das preloaden wird eingentlich gemacht wenn du bilder mit rollover effekt hast, damit wenn du über ein bild fährst das bild direkt verfügbar ist, und nicht erst noch geladen werden muß.

    ich weiß auch nicht genau was du mit "damit der seitenaufbau nich so teilweise passiert." meinst.
    Vielleicht meinst du die reihenfolge wann ein bild geladen wird ,welche du nicht beeinflussen kannst.

    Auf jeden fall kannst du den seitenaufbau nicht mit JS beeinflussen.

    gruß

    jo

  2. Tag Rondra.

    Ist es möglich statt
    imageDB[i].src = "desk" + (i+1) + ".gif"
    wildcards zu benutzen? So irgendwie:
    imageDB[i].src = "desk" + (*) + ".gif"

    Nein. Du kannst aber eine andere Variable einsetzen, sowas wäre z.B. denkbar:

    var suffix_array = new Array("001", "bla", "foo", "_willi");  
    for(i = 0; i < suffix_array.length; i++) {  
      imageDB[i].src = "desk" + suffix_array[i] + ".gif";  
    }
    

    möchte eigentlich das gesamte image-verzeichnis preloaden. Geht das?

    Javascript weiß nichts über den Inhalt des image-Verzeichnisses und wird es auch nie erfahren. Du musst deinem Preloader-Script explizit mitteilen (hardcodiert oder mittels einer serverseitigen Technik), welche Grafiken es zu laden hat.

    Siechfred