Hallo,
Gibt es JavaScript-Fehler? Wenn ja solltest Du denen mal zuerst nachgehen.
Wenn nein:
Hmmmm...wie genau sind denn die Bilder in "slideshow" angeordnet? Liegen die alle übereinander (mit unterschiedlichem Z-Index)?
Dann könnte es sein, dass das prinzipiell schon funktioniert, aber das letzte Bild halt alle anderen verdeckt - wenn dann das erste Bild einfaded siehst Du's dann natürlich nicht.
In diesem Fall könntest Du natürlich, wenn Du beim letzten Bild ankommst, für alle Bilder die Opacity einfach auf 0 zurückdrehen.
if (counter >= imgs.length) {
// Alle Bilder auf durchsichtig zurücksetzen
for (var i = 0; i < imgs.length; i++) {
imgs[i].style.opacity = 0;
imgs[i].style.filter = "alpha(opacity=0)";
}
counter=0;
}
Hat aber den Nachteil, dass das letzte Bild auf einen Schlag komplett verschwindet und erst dann das erste langsam wieder eingeblendet wird.
Du könntest aber bei jedem Durchlauf für jedes Bild den z-Index anheben und dazu seine Opacity zurückdrehen. Etwa so:
// Wird gebraucht, um den Z-Index hoch zu zaehlen
var zIndexCounter = 0;
function next()
{
var imgs = document.getElementById("slideshow").getElementsByTagName("img");
if (typeof(counter) != "number")
{
counter = 0;
}
counter++;
if (counter >= imgs.length)
{
counter=0;
}
// Das ist das nächste Bild, welches eingeblendet werden soll
var nextImage = imgs[counter];
// Erstmal auf durchsichtig stellen
nextImage.style.opacity = 0;
nextImage.style.filter = "alpha(opacity=0)";
// Zum obersten Bild machen
zIndexCounter++;
nextImage.style.zIndex = zIndexCounter;
// Jetzt können wir überblenden
fade();
};
(Kann nicht garantieren, dass das so funktioniert ;) )
Wofür genau steht jetzt nochmal die 1000?
Ignorier das, hab mich in Deinem Code verguckt :)
Viele Grüße,
Jörg