ich bastel gerade an einer Bild-Rotation mit Vorlade-Funktion (Bitte keine Diskussion zu Sinn und Unsinn solcher Spielereien. Ich mag die Dinger auch nicht!). Während die Bilder für die Bild-Rotation geladen werden, soll der Besucher schon die bereits geladenen Bilder mit Klick auf "nächstes Bild anzeigen" und "vorheriges Bild anzeigen" sich anschauen können. Leider funktioniert es nicht einwandfrei und ich bin schon am verzweifeln.
Zunächst einmal die URL: http://www.test.nordseetraum.de/testplayer.htm
Ich hab mir den etwas umfangreichen Quellcode kurz angeschaut, aber irgendwie versteh ich nicht den Ansatz der dahinter stehen soll.
Einserseits lädst du die Bilder mit JS vor:
arr_pics0[0] = "fotos450x300/001-3-Giebel-frontal-291-9129_IMG-kl.jpg";
Anderseits auch im HTML Code:
<img src="fotos450x300/001-3-Giebel-frontal-291-9129_IMG-kl.jpg" border="0" width="2" height="2" onload="counter0()">
(was für user die JS abgeschaltet haben - wie mich - frustrierend ist, da sie alle Bilder laden aber keine Funktion haben)
Was soll da die onload Funktion bewirken?
Sinnvollerweise wendest du den onload Event bei den JS Bildern an und schmeist am besten die HTML Bilder raus.
Der onload Event bei bildern hat durchaus seine Macken, z.b wird er im IE nicht gefeuert wenn das Bild bereits im cache liegt, dann ist eine zusätzliche Prüfung auf .complete notwendig.
Ansonsten ist der Code etwas umständlich und daher schwer zu durchschauen, z.b. wäre das hier:
switch(playerspeed0){
case 2500:
document.forms[0].infofeld20.value='nächster Klick: Bilderwechsel 2 Sekunden';
break;
case 2000:
document.forms[0].infofeld20.value='nächster Klick: Bilderwechsel 1,5 Sekunden';
break;
case 1500:
document.forms[0].infofeld20.value='nächster Klick: Bilderwechsel 1 Sekunden';
break;
case 1000:
document.forms[0].infofeld20.value='nächster Klick: Bilderwechsel 0,5 Sekunden';
break;
case 500:
document.forms[0].infofeld20.value='nächster Klick: Bilderwechsel 2,5 Sekunden';
break;
Einfacher zu bewältigen, z.b. so:
document.forms[0].infofeld20.value = 'nächster Klick: Bilderwechsel '
+ parseInt( playerspeed0 * 10 ) / 10
+ ' Sekunden';
Struppi.