Hallo,
ich fände es übersichtlicher, wenn du nach dem EVA-Prinzip hier auch im kleinen vorgehen würdest.
- Eingabe: dein Steuerzeichen
- Verarbeitung: neuen Index berechnen intValue=
- Ausgabe: ...innerHTML=" .... [intValue] ... "
var maxValue = myImages.length - 1;
var intValue = 1;
function gallerie(charValue) {
var ig=document.getElementById("imgGallerie");
if (charValue == 'c') intValue=1;
else if(charValue == '+') intValue++;
else if(charValue == '-') intValue--;
if (intValue < 1 ) intValue=1; // dein Startindex
if (intValue > maxValue ) intValue=maxValue;
ig.innerHTML = "<img src='" + myImages[intValue].src + "'><p>" + myImages[intValue].dsc + "</p>";
}
zum Thema Bilder vorladen: Im Prinzip einfach, wenn deine Gallerie klein ist. Andernfalls läd jeder Besucher deiner Seite alle Bilder, auch wenn er nach ein paar Clicks genug hat. u.U. viel Traffic für nichts ...
Wenn deine Bildnavigation nur aus vor und zurück besteht, würde es doch wohl genügen, nur das nächst mögliche Bild vorzuladen.
function vorladen1(i) {
if (! myImages[i].img ) {
myImages[i].img = new Image();
myImages[i].img.src = myImages[i].src;
}
}
function vorladen(i) {
var next= i<(maxValue-1) ? (i+1) : 1;
var prev= i>1 ? (i-1) : 1;
vorladen1(next);
vorladen1(prev);
}
mit der Initialisierung sollte das Startbild vorgeladen werden
vorladen1(1);
und innerhalb der Galleriefunktion wäre der Aufruf
vorladen(intValue);
Gruß plan_B
--
*®*´¯`·.¸¸.·
*®*´¯`·.¸¸.·