also leute, folgendes problem:
ich benutze einen ganz einfach preloader, der jetzt auch super funktioniert, nur habe ich dabei folgendes Problem
<script language="JavaScript">
var bild = new Array();
var datei = new Array("images/1.gif","images/2.gif","images/3.gif");var p=0 //Prozent
var b=datei.length; // Anzahl der zu ladenden Bilder
for(i=0; i<=b; i++)
{
bild[i] = new Image();
bild[i].src = datei[i];
p= (i/b)*100;
window.status=i + " von " + b + " Bildern vorgeladen " + "[" + p + "%]";}
Preloader sind die Pest!
Sie tun etwas von dem ich nicht sicher bin ob ich es will und das nicht mal zuverlässig. Der browser kann das selber viel besser und wenn du das machst, weil deine Seite beim aufbauen so rumzapppelt (was sie nur im IE tut), dann hilft es dir schon weiter, wenn du die Größenangaben bei den Bildern im HTML Code machst.
aber gut zu deiner Frage:
du suchst den Onload event:
bild[i] = new Image();
bild.[i].onload = fertig;
bild[i].src = datei[i];
var counter = 0 ;
function fertig()
{
p = parseInt(bild.length/counter *100);
window.status= counter++ + " von " + bild.length + " Bildern vorgeladen " + "[" + p + "%]";
}
complete ist eine sehr unzuverlässige Eigenschaft, zumal, wenn die Datei nicht vorhanden ist (evtl. Tippfehler oder sowas) du damit nie zum Erfolg kommst.
Dafür gibt es den onerror Event.
Struppi.