by DaPhil » 13. June 2006 19:13
Wenn du Bilder vorladen möchtest hab ich hier was für dich, ist aber mit JavaScript realisiert, also für User ohne JavaScript nicht geeignet, aber wenn das nicht stört, hier der Code! (Kann sein das man damit auch anderweitige Dateien vorladen kann, hab ich aber noch nicht ausprobiert, aber sag mir bescheid wenn du es ausprobiert hast.!
<script language="JavaScript">
var locationAfterPreload="index.php?section=galerie"
var lengthOfPreloadBar=400
var heightOfPreloadBar=10
var yourImages=new Array()
yourImages[0]="images/galerie/01.jpg"
yourImages[1]="images/galerie/02.jpg"
yourImages[2]="images/galerie/03.jpg"
if(document.images) {
var dots=new Array()
dots[0]=new Image(1,1)
dots[0].src="images/loading.jpg"
dots[1]=new Image(1,1)
dots[1].src="images/loaded.jpg"
var preImages=new Array(),coverage=Math.floor(lengthOfPreloadBar/yourImages.length),currCount=0
var loaded=new Array(),i,covered,timerID
var leftOverWidth=lengthOfPreloadBar%coverage
}
function loadImages() {
for(i=0; i<yourImages.length; i++) {
preImages[i]=new Image()
preImages[i].src=yourImages[i]
}
for(i=0; i<preImages.length; i++) {
loaded[i] = false
}
checkLoad()
}
function checkLoad() {
if(currCount==preImages.length) {
location.replace(locationAfterPreload)
return
}
for (i=0; i<=preImages.length; i++) {
if (loaded[i]==false && preImages[i].complete) {
loaded[i]=true
eval("document.img" + currCount + ".src=dots[1].src")
currCount++
}
}
timerID=setTimeout("checkLoad()", 10)
}
</script>
Neue Bilder hinzufügen mit yourImages[]="images/galerie/03.jpg". (Hier muss nicht unbedingt ein Argument in die eckigen Klammern, kannst du auch einfach nix reinschreiben...)
Aufrufen tust du es folgendermaßen:
<script language="JavaScript">
if(document.images) {
var preloadBar=''
for(i=0; i<yourImages.length-1; i++) {
preloadBar+='<img src="' + dots[0].src + '" class="preload" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
}
preloadBar+='<img src="' + dots[0].src + '" class="preload" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
}
</script>
Auch hier musst du nicht unbedingt eine Klasse bestimmen für die kleinen Preloadbildchen, die du dir selbst machen musst. (Einfach ein kleines Bild mit Hintergrundfarbe...)
So müsste es funktionieren!