Hallo,
du hast betont, dass die Diashow lokal auf einem Rechner läuft. Da muss ich mal fragen, ob die Dia-Show per "vor-laden" im Vollbild-Modus nun ruckelfrei läuft.
Ich habe nun ziemlich viel rumgetestet und das Ergebnis ist alles andere als befridigend. Kann es sein, dass ich irgendetwas „falsch“ mache, oder „muss“ das so sein:
Ich habe hier ein kleines Vorlade-Script erstellt:
img = document.getElementById('img');
bilder_pfad = [];
bilder_pfad.push('C:\\Users\\Phil\\Pictures\\bild1.jpg');
bilder_pfad.push('C:\\Users\\Phil\\Pictures\\bild2.jpg');
pos = -1;
preload = [];
for (var i = 0; i < 15; i++)
{
preload[i] = new Image();
preload[i].src = 'file:///' + bilder_pfad[i];
preload[i].id = 'img';
}
document.addEventListener('keyup', function(e) {
if (e.key.toLowerCase() == 'o')
{
((pos + 1) >= preload.length) ? pos = 0 : pos++;
document.replaceChild(preload[pos], img);
img = preload[pos];
}
});
Die Sache ist nun die, dass es nun gar nicht so läuft wie ich erhofft hatte. Wenn ich dieses „Vorlade“-Script mit dem „Normalen“-Script vergleiche, dann muss ich sagen, dass die beiden sich beinahe in nichts nachstehen. Es ist schwer einzuschätzen ob das Vorlade-Script wirklich besser ist oder eher schlechter. Manchmal kommt es beim Vorlade-Script dazu, dass auch mal kein Bild angezeigt wird; dann schaue ich im Inspektor nach und dort steht „Grafik konnte nicht geladen werden“ - eigenartig...
Nichtsdestotrotz bekomme ich folgendes einfach nicht hin. Folgende Situation: Ich drücke auf F5 - Reload, alles auf Anfang. Wenn ich nun mit der (normalen) next() Funktion durch die Bilder gehe brauchen diese (ein Momentchen) bis sie komplett angezeigt werden. Wenn ich nun mit einer prev() Funktion wieder zurück gehe werden die Bilder augenblicklich komplett angezeigt. Kein kleinstes Momentchen vergeht - sie sind sofort da.
Ich möchte nun genau das hinbekommen. Das Bild, das bei einem Aufruf von next() angezeigt wird, soll sofort erscheinen - eben - wie oben geschildert - als wäre es schon mal angezeigt worden. Und das bekomme ich mit der sogenannten „Preload“-Funktion (s.o.) nicht hin.
Hinweise wie ich die Bilder >>sofort<< angezeigt bekommen kann und auch andere Vorschläge sind herzlich Wilkommen.
LG Phil