molily: Blättern in Fotoalbum UND individuelle Foto-Auswahl

Beitrag lesen

Damit lese ich erstmal über ein eigenes Objekt "angeklickt"

Das ist kein »eigenes Objekt«, sondern schlicht eine Objekteigenschaft beim Elementobjekt.

den derzeit verwendeten Index-Wert aus. Ziel wäre es, von diesem ausgehend auch eine vor- und zurück-Blätter-Variante einzubauen (vorbereitet unter den Thumbnails).

Dann solltest du nicht den Indexwert im Array document.links verwenden. Denn da können Lücken sein, weil du nur die Elemente daraus nimmst, die eine bestimmte Klasse haben. Das Element in document.links[i - 1] ist nicht notwendig der Bild-Link vorher.

Und dazu muss ich eben den aktuell verwendeten Index-Wert "i" auslesen.

Dazu musst du ihn erst einmal irgendwo speichern - über die Ausführung des click-Handlers hinweg, sodass er beim nächsten Klick zur Verfügung steht.

Du kannst ihn z.B. in einer globalen Variable speichern oder besser am Elementobjekt document.aktuelles_foto. Da kannst du ebenfalls eine Objekteigenschaft anlegen:
document.aktuelles_foto.aktuellerIndex = i;

Jetzt solltest du nur noch die Schleife verbessern, sodass du mit i+1 und i-1 arbeiten kannst.
Du kannst z.B. alle Fotolinks in eine Liste legen und der eine ID geben. Das hast du offenbar schon. Dann machst du
var bilderlinks = document.getElementById("thumbliste").getElementsByTagName("a");
und durchläufst diesen Array. Der Index sollte sich dann immer auf diese Liste beziehen.
Die ganzen Klassen kannst du dir dann sparen. Sowohl in JS und CSS kannst du sie immer noch eindeutig ansprechen.

1.) Mit dem Objekt "angeklickt"

Es ist kein Objekt, sondern eine stinknormale Zahl (Typ http://de.selfhtml.org/javascript/objekte/number.htm@title=Number).

kann ich den Index-Wert zwar über alert ausgeben lassen aber mathematisch kann ich den nicht verwenden (oder doch?).

Klar. Es ist ein Number-Wert und bleibt ein Number-Wert.

Und warum wird durch die Verwendung eines eigenen Objektes der aktuell verwendete Index-Wert "i" angezeigt, aber beim direkten Auslesen von "i" kommt immer nur die Summe aller Links raus???

Das hat dir Struppi schon zu erklären versucht.
Die Schleife läuft halt und zählt i hoch. Bei jedem Schleifendurchlauf registriert es einen Event-Handler. Der hat Zugriff auf die Variable i der äußeren onload-Funktion, auch wenn diese Funktion schon abgelaufen ist (Closure). Wenn der Event-Handler gefeuert wird, ist der Wert von i eben der, der er beim letzten Schleifendurchlauf war, also der höchste.

Wenn du jetzt in der Closure nicht den Endwert, sondern den Wert von i zum Zeitpunkt des Zuweisens des Event-Handlers haben willst, musst du jeweiligen Schleifenwert zwischenspeichern. Das geht beim Durchlaufen von Elementlisten zur Registrierung von Event-Handler z.B. so wie Struppi es vorgeschlagen hat, indem du den Wert einfach am Elementobjekt speicherst.

Im Forumsarchiv findest du dazu Infos unter den Stichwörtern »Schleifen und Closures«.

2.) Kann ich eine Variable dieses window-onload-Scripts auch in anderen Funktionen verwenden? Also zB "i" oder this.zaehler?

Die Frage verstehe ich nicht.
Lokale Variablen aus der onload-Funktion überleben die Ausführung nicht, sofern du sie nicht irgendwo speicherst bzw. sie von Closures eingeschlossen werden.

Mathias

0 53

Blättern in Fotoalbum UND individuelle Foto-Auswahl

juewi
  • javascript
  1. 0
    molily
    1. 0
      juewi
      1. 0
        molily
        1. 0

          Blättern in Fotoalbum UND individuelle Foto-Auswahl - ERLEDIGT

          juewi
      2. 0
        juewi
      3. 0
        molily
        1. 0
          juewi
          1. 0
            Patrick Andrieu
            1. 0
              Patrick Andrieu
              1. 0
                Patrick Andrieu
                1. 0
                  Patrick Andrieu
              2. 1
                Patrick Andrieu
                1. 1
                  dedlfix
                  • php
                  1. 0
                    dedlfix
                  2. 0
                    Patrick Andrieu
                  3. 0
                    Patrick Andrieu
                    1. 0
                      Patrick Andrieu
                      1. 0
                        juewi
                        1. 0
                          Patrick Andrieu
                    2. 0
                      juewi
                    3. 0
                      dedlfix
                      1. 0
                        Patrick Andrieu
                        1. 0
                          dedlfix
                          1. 0
                            Patrick Andrieu
              3. 0
                juewi
                1. 0
                  Patrick Andrieu
                  1. 0

                    Script-Variante von Patrick - perfetto!

                    juewi
                    1. 0
                      Patrick Andrieu
                      1. 0
                        juewi
                        1. 0
                          Patrick Andrieu
                          1. 0

                            Grafik-Ladezeit mit opacity und gif ersichtlich gemacht

                            juewi
                            1. 0
                              Patrick Andrieu
                              1. 0
                                juewi
                                1. 0
                                  juewi
                                  1. 0
                                    Patrick Andrieu
                                    1. 0
                                      juewi
                                      1. 0

                                        DANKE !

                                        juewi
                        2. 0
                          Patrick Andrieu
                          1. 0
                            Kai345
                            • menschelei
                  2. 0
                    molily
                    1. 0
                      Patrick Andrieu
                2. 0

                  An den Pranger Domain nicht erreichbar

                  Hans
                  • recht
                  1. 0
                    Patrick Andrieu
                    1. 0

                      Bechstubenverwachsler

                      Der Martin
                      • menschelei
                      1. 0
                        Patrick Andrieu
                        1. 0

                          Bechstubenverwachsler und andere Krankheiten

                          Der Martin
        2. 1
          molily
          1. 0
            Patrick Andrieu
          2. 0
            juewi
    2. 0

      Extrahieren von Link-Bestandteilen (SPLIT)

      juewi
      1. 0
        Struppi
        1. 0
          juewi