ok, ein neuer Versuch.
Ich habe versucht die Dinge zu korrigieren, jetzt zeigt er mir zwar Zahlen an, aber immer nur "1/4". Klicke ich ein Bild weiter, bleibt es beim "1/4", obwohl es eigentlich "2/4" heißen müsste.
Was muss ich noch ändern?
Die Fehlerkonsole sagt gar nichts.
Die Navigation funktioniert in beide Richtungen tadellos, nur ändert sich die Nummer nicht.
<script type="text/javascript">
var imgs = [
{pfad: 'grafics/1.jpg', nummer:1},
{pfad: 'grafics/2.jpg', nummer:2},
{pfad: 'grafics/3.jpg', nummer:3},
{pfad: 'grafics/4.jpg', nummer:4},
];
imgs.rotate = function (direction) {
if (direction > 0) { this.push(this.shift()); }
else if (direction < 0) { this.unshift(this.pop()); }
}
function nextImg(direction) {
imgs.rotate(direction);
document.getElementById("bg").src = imgs[0].pfad;
}
</script>
---
<div><img id="bg" src="grafics/1.jpg"></div>
<div><script type="text/javascript">
document.write ('<p><a href="javascript:nextImg(- 1)"> prev<\/a> | <a href="javascript:nextImg(1)">next <\/a><\/p>');
document.write(imgs[0].nummer);
document.write("/" + imgs.length);</script> </div>
document.write ('<p><a href="javascript:nextImg(- 1)"> < prev<\/a> | <a href="javascript:nextImg(1)">next > <\/a><\/p>');
Mit -1 erreichst du zwar die vorhergehende Position, indem du das Array um eine Runde rotieren lässt. Was aber, wenn du nun eine Runde in die andere Richtung drehst? Dann stehst du wieder an der selben Stelle.
Das versteh ich nicht so ganz...