Image-preload

Li will Lion

Grünschnabel
hallo,
ich habe versucht, einen preloader für meine website zu schreiben, der aber leider nicht funktioniert..
das ziel ist, dass ein ladebalken angezeigt wird, während die bilder geladen werden und dass -nach dem laden der bilder- die entsprechende seite (in diesem fall 'start.htm', ein frameset) angezeigt wird.
allerdings ist alles was ich sehe eine weisse, leere seite. der browser meldet keine script-fehler und ich habe keine ahnung, ob geladen wird und nur der balken nicht angezeigt wird oder ob gar nichts passiert..ausserdem wollte ich eine automatische weiterleitung, die definitiv nicht funktioniert..
kann mir jemand sagen, wo der fehler liegt?

vielen dank im vorraus,

lion

______________________________________________________________________
Code:
<html>
<head>
<title>LOADING..</title>
</head>
<body>
<script language="JavaScript">
<!--

var locationAfterPreload = "start.htm"
    var lengthOfPreloadBar = 260
    var heightOfPreloadBar = 20

    var grafix = new Array   ("../navigation/1.gif","../navigation/1over.gif","../navigation/2.gif","../navigation/2over.gif","../navigation/3.gif","../navigation/3over.gif","../navigation/4.gif","../navigation/4over.gif","../navigation/arrows.gif","../base/ro.gif","../base/lu.gif","../base/ru.gif","../base/r_stamp.gif","../base/l_stamp.gif","../base/bg.gif","../base/butt.gif","../base/o.gif")

if (document.images) {

    var dots = new Array() 
    dots[0] = new Image(1,1)
    dots[0].src = "../base/load_back.gif"
    dots[1] = new Image(1,1)
    dots[1].src = "../base/load_fore.gif"
    var preImages = new Array(),coverage = Math.floor (lengthOfPreloadBar/grafix.length),currCount = 0
    var loaded = new Array(),i,covered,timerID

    var leftOverWidth = lengthOfPreloadBar%coverage
}

function loadImages() { 

    for (i = 0; i < grafix.length; i++) { 
    preImages[i] = new Image()
    preImages[i].src = grafix[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>
</body>
</html>

______________________________________________________________________
 
Ab mit deinem Script in den <head>-Teil des Dokumentes und dann bitte noch folgendes Script in den <body>-Teil:
PHP:
<script type="text/javascript" language="JavaScript"> 
<!--
// It is recommended that you put a link to the target URL just in case if the visitor wants to skip preloading 
// for some reason, or his browser doesn't support JavaScript image object. 
if (document.images) { 
	var preloadBar = "";
	for (i=0; i<grafix.length-1; i++) { 
		preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">';
	} 
	preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (grafix.length-1) + '" align="absmiddle">';
	document.write(preloadBar);
	loadImages();
} 
//--> 
</ script>
(</ script> zusammen)

dann klappt's auch mit den Nachbarn.

Wenn du ein vorgefertigtes Script aus dem Netz holst, dann vergiß besser nicht die Hälfte, sonst kannst du lange rätselraten wo der Fehler steckt. ;)

hth,
Geist
 
astrein..

vielen dank!

wenn ich beruflich nicht so viel zu tun hätte, würde ich selbstverständlich danach streben, mir deine fähigkeiten anzueignen..
 

Neue Beiträge

Zurück