Bilder auf dem Rechner vorladen
Peter
- javascript
Hi
Ich habe ein Seite programmiert die viele Bilder umfasst.
Kann mir jemand sagen wie ich diese Bilder vorladen kann.
Ich hab nämlich schon bei ein paar seiten gesehen das beim Seitenstart ein ladebalken kommt.
Wie geht das????
Danke schon mal im vorraus
Hi,
Kann mir jemand sagen wie ich diese Bilder vorladen kann.
Ich hab nämlich schon bei ein paar seiten gesehen das beim Seitenstart ein ladebalken kommt.
Wie geht das????
du machst eine Funktion, die fuer jedes Bild ein neues Image-Objekt erstellt und dem Image-Objekt
einen onload-Handler uebergibt. Damit kannst du checken, wieviele Bilder schon geladen sind.
Ausserdem brauchst du einen div/layer, in dem die Statusbar zu sehen ist. Das ganze koennte
ungefaehr so aussehen:
var loaded = 0;
var imgs = new Array();
var num_bilder = 10;
var size_statusbar = 300;
var aktsize = 0;
var size_step = 10;
function load()
{
for(var i=0;i<num_bilder;i++)
{
imgs[i] = new Image();
imgs[i].src = "bla_"+i+".jpg";
imgs[i].onload = loader();
}
}
function loader()
{ loaded++; }
function statusbar()
{
var max_size = num_bilder / size_statusbar * loaded;
if(aktsize < max_size)
{
aktsize += size_step;
if(document.layers)
{ document.layers['statusbar'].clip.width = aktsize; }
else if(document.all)
{ document.all['statusbar'].style.clip = "rect(auto "+aktsize+"px auto auto auto)"; }
else if(document.getElementById)
{ document.getElementById('statusbar').style.clip = "rect(auto "+aktsize+"px auto auto auto)"; }
}
window.setTimeout("statusbar()",10);
}
Den HTML-Rahmen und so musste dir selber bauen.
Gruss
Christian
http://wwwtech.de
Hi auch,
Ich habe ein Seite programmiert die viele Bilder umfasst.
^^^^^
Ich hab nämlich schon bei ein paar seiten gesehen das beim
Seitenstart ein ladebalken kommt.
bist Du Dir sicher, daß Du die vermutlich ohnehin hohe Ladezeit
durch die Anzeige vieler weiterer Bilder (nämlich der Zustände
des Ladebalkens) noch weiter erhöhen möchtest?
Viele Grüße
Michael