Thorsten Steffen: Images vorladen

Beitrag lesen

hio,

ich versuch mal grob den Quelltext mal ein wenig durchzugehen

// prüfen ob browser mit images umgehen kann
if(document.images){

// das war doppeltgemoppelt deswegen mal ungeschrieben
 // ausserdem wolltest du ja die Zahl 0 speichern und nicht das Zeichen 0
 var_image_geladen = 0;
 var_image_laden = 0;
// image-Array anlegen und 4 images eintragen+laden lassen
 arr_image = new Array();
 arr_image[0] = new Image();
 arr_image[0].src = "bar.gif";
 arr_image[1] = new Image();
 arr_image[1].src = "bar.gif";
 arr_image[2] = new Image();
 arr_image[2].src = "bar.gif";
 arr_image[3] = new Image();
 arr_image[3].src = "bar.gif";
 arr_image[4] = new Image();
// hm, muss ich net ganz verstehen, oder? die lädst immer das gleiche bild ?
// und dann wartest du etwas mehr wie ne halbe sekunde und ersetzt das 5 bild mit dem selben bild?
 window.setTimeout("arr_image[4].src = "bar.gif";", 600)

// hier wirds interessanter
// du machst eine Schleife, mit 0 bis 4, (oder versuchst es ^^)
// müsste das nicht i++ heissen?
 for (var i=0; i < arr_image.length; ++i)
  // prüfst ob das bild fertig ist, aber wieso sollte es schon fertig sein?, du hast bei ner halbwegs brauchbaren cpu ein paar nanosekunden zuvor angefangen das ding laden zu lassen
// also dürfte die Bedingung so nicht erfüllt sein, und deine Variable wird nicht hochgezählt
  if(arr_image[i].complete)
  var_image_geladen ++;

// nächste Schleife
// same hier i++
 for (var i=0; i < arr_image.length; ++i)

// du zählst immer 1 dazu
  var_image_laden ++;

>document.write(var_image_geladen +" von "+ var_image_laden +" Grafiken geladen.");
// hier prüfst du ob 0 = 5 ist, isses nicht also keine umleitung
 if(var_image_laden == var_image_geladen)
  >document.location.href = "seite2.htm";
}

imho gehst du hier etwas den falschen Ansatz, wobei ich eingestehe muss nicht ganz 100% zu wissen was du machst. Besser würdest du fahren bei den Grafiken mit dem Eventhandler onload (bzw. onerror) zu arbeiten um herauszufinden wann die Grafik geladen wurde.

gruss

Thorsten