Vorausladen von Bildern mit Fortschrittsanzeige
Lexi
- javascript
Hallo zusammen!
Ich habe als Startframe ein Javascript zum Vorausladen von Bildern inklusive Fortschrittsanzeige. Im Internet Explorer 6 funktioniert es einwandfrei, im aktuellsten Mozilla ist die Fortschrittsanzeige nur 1 Pixel lang. Kann mir jemand sagen, woran das liegt, ich gebe den Code unten an.
<html>
<head>
<title>preload</title>
<script language="JavaScript1.1">
var locationAfterPreload = "startframe.htm"
var lengthOfPreloadBar = 200
var heightOfPreloadBar = 5
var yourImages = new Array("01.jpg","02.jpg","03.jpg")
if (document.images) {
var dots = new Array()
dots[0] = new Image(1,1)
dots[0].src = "balken.gif"
dots[1] = new Image(1,1)
dots[1].src = "farbe.gif"
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>
</head>
<table border="0" width="100%" height="100%">
<tr><td align="center" valign="middle">
<p align="center"> <font face="Tahoma" size="2"><a>Bilder werden geladen...</a></font></p>
<script language="JavaScript1.1">
<!--
if (document.images) {
var preloadBar = ''
for (i = 0; i < yourImages.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' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
}
document.write('<p align="center"> <font face="Tahoma" size="2"><a href="javascript:window.location=locationAfterPreload">Skip</a></p>')
// -->
</script> </td>
</td></tr>
</table>
</body>
</HTML>
Die 2 Bilder "rahmen.jpg" und "farbe.jpg" bilden zusammen die Fortschrittsanzeige, beide sind 1 Pixel breit und 5 Pixel hoch. Die Bilder 01.jpg, 02.jpg, 03.jpg werden vorausgeladen.
Bitte um Antwort,
Lexi
Hallo zusammen!
Hallo Lexi!
Ich habe als Startframe ein Javascript zum Vorausladen von Bildern inklusive Fortschrittsanzeige.
Ja, was denn nun? Ein Frame (was, bitte, ist ein Startframe?) oder ein Skript?
Kann mir jemand sagen, woran das liegt, ich gebe den Code unten an.
Ich auf jeden Fall nicht - aber ich kann Dir meine eigene Lösung anbieten, die Du auf http://www.mahjongg.li in Aktion siehst. Hier ist sie: https://forum.selfhtml.org/?t=97900&m=596475. Hättest Du etwas weiter hinabgescrollt, wär' sie zu finden gewesen.
Herzlich, twb
Hallo Lexi!
Hallo TWB
Ja, was denn nun? Ein Frame (was, bitte, ist ein Startframe?) oder ein Skript?
Hab mich vielleicht schlecht ausgedrückt, meine Seite besteht aus mehreren Frames, wobei in einem dieser Frames dieses Preload gestartet wird. und zwar mit den unten beschriebenen Javascripts.
Ich auf jeden Fall nicht - aber ich kann Dir meine eigene Lösung anbieten
Danke, hab schon mal reingeschaut, funktioniert auch im Mozilla, sehr gut!
Herzlich, twb
Liebe Grüße, Lexi.