|
|||
Probleme mit Bildergalerie
Hallo, ich habe ein Problem mit meiner Bildergalerie. Sie basiert auf ein einfaches JS-Script. Ich hab mir das ganze so vorgestellt, dass es ein großes Bild in der Mitte gibt und links und rechts je ein kleines, die jeweils das vorherige/nächste Bild zeigen. Mittels zwei Buttons kann man weiter oder zurück
Das Problem: Das erste Bild kommt nur ein einziges Mal, danach kommt es zwar bei der Vorschau ( und bei der "Nachschau" ) aber man muss zwei mal auf den button klicken und das bild wird einfach übersprungen... hier der Quelltext: <script type="text/javascript"> var x=0; var winter2 = new Image(); winter2.src = "Bilder/winter2.jpg"; var winter3 = new Image(); winter3.src = "Bilder/winter3.jpg"; var winter4 = new Image(); winter4.src = "Bilder/winter4.jpg"; var winter5 = new Image(); winter5.src = "Bilder/winter5.jpg"; var winter6 = new Image(); winter6.src = "Bilder/winter6.jpg"; var winter7 = new Image(); winter7.src = "Bilder/winter7.jpg"; var winter8 = new Image(); winter8.src = "Bilder/winter8.jpg"; var winter9 = new Image(); winter9.src = "Bilder/winter9.jpg"; var winter1 = new Image(); winter1.src = "Bilder/winter1.jpg"; var bilder = new Array(winter1, winter2, winter3, winter4, winter5, winter6, winter7, winter8, winter9, winter1); function vor(){ x = x+1; if(x==9){x=0;} document.images[0].src = bilder[x-1].src document.images[1].src = bilder[x].src document.images[2].src = bilder[x+1].src } function zuruck(){ x= x-1; if(x<0){x=8;} document.images[0].src = bilder[x-1].src document.images[1].src = bilder[x].src document.images[2].src = bilder[x+1].src } </script> |
Sponsored Links |
|
|||
Dein Array fängt bei 0 an weshalb er bei 9 Elelementen maximal den Indexwert 8 haben kann
Bei zuruck() also : HTML-Code:
if(x<0){x=8} HTML-Code:
if(x==7){x=0} - links das letzte - in der Mitte das erste und - rechts das zweite Bild zeigen möchtest,du nicht einfach - ... = bilder[x-1] - ... = bilder[x] - ... = bilder[x+1] verwenden kannst, da x jeweils immer den selben Wert hat. Beim Endwert, also 8 ,würde dir nie bei ...[x+1] als letztes das erste Bild angezeigt werden (da x = 9 statt 0 wäre), oder bei z.B. x=0 in der Mitte zwar das erste Bild aber im linken <img> nie das letzte (für x = 8 ) der Liste, da du ja x = -1 statt x = 8 hättest .... Du must einen Weg finden, x so hoch und runter zu zählen, dass du x für das dritte Bild nicht einfach immer nur x+1 gibst, sondern dass, wenn du ans Ende des Arrays kommst, x für das dritte Bild automatisch = 0 wird für die anderen aber = 7 und = 8 bleibt (und das Gleiche, wenn du zurück gehst und an den Anfang des Arrays kommst). bsp.: (um links das letzte Bild, in der Mitte das erste Bild und rechts das zweite Bild zu zeigen) HTML-Code:
document.images[0].src = bilder[8].src document.images[1].src = bilder[0].src document.images[2].src = bilder[1].src . .. . lange Rede, kurzer Sinn ... ich hoff, das hilft PS: für Angaben von Code (in deinem Fall JavascriptCode) bitte immer im Editor die html-code bzw. php-code Felder zum einrahmen nutzen Das sieht dann gleich viel schöner und übersichtlicher aus
__________________
„Tu soviel Gutes, wie Du kannst, und mache so wenig Gerede wie nur möglich darüber.“ C.D. Geändert von netbenni (01.01.2009 um 19:07 Uhr) |
Sponsored Links |
|
|||
Zitat:
|
|
|||
OK, stimmt, x wird ja gleich nachdem es erhöht/verringert wurde, geprüft ob es zu groß oder zu klein ist (= 9 oder < 0 ), da hast du recht ... entschuldige
... aber ... FÜR VOR() Wenn x = 9 ist, wird es im nächsten Schritt = 0 gesetzt. Mit deinem Code würde dann Folgendes erzeugt werden: HTML-Code:
document.images[0].src = bilder[-1].src document.images[1].src = bilder[0].src document.images[2].src = bilder[1].src FÜR ZURUCK() Hier tritt im Prinzip der gleiche Fehler auf. Du müsstest vielleicht statt einer Variable x drei Variablen, von mir aus x,y,z, seperat hoch und runter zählen und für jede einzelne jeweils prüfen, ob sie zu groß oder zu klein ist. Also so : HTML-Code:
var x=0,y=1,z=2; .... function vor(){ x++; y++; z++; if(x==9){x=0;} if(y==9){y=0;} if(z==9){z=0;} document.images[0].src = bilder[x].src document.images[1].src = bilder[y].src document.images[2].src = bilder[z].src } function zuruck(){ x--; y--; z--; if(x<0){x=8;} if(y<0){y=8;} if(z<0){z=8;} document.images[0].src = bilder[x].src document.images[1].src = bilder[y].src document.images[2].src = bilder[z].src }
__________________
„Tu soviel Gutes, wie Du kannst, und mache so wenig Gerede wie nur möglich darüber.“ C.D. Geändert von netbenni (01.01.2009 um 19:40 Uhr) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
paar Probleme mit dem CSS Layout | SimonK. | CSS | 6 | 05.10.2008 15:57 |
hasLayout Problem mit "Ulles" hover Bildergalerie | regioprint | CSS | 7 | 17.03.2008 11:45 |
Probleme mit Bildergalerie | Petty | CSS | 3 | 29.03.2007 14:09 |
Probleme mit Bildergalerie | Lili0312 | Site- und Layoutcheck | 3 | 03.03.2007 15:35 |
IE: Probleme mit ul-Menü | Ares | CSS | 4 | 18.10.2006 12:42 |