awa: Frage zur Adressierung von images mit document.images[].src

Beitrag lesen

Hallo zusammen,

ich habe ein ziemlich hartnäckiges, vielleicht auch ein wenig widersinniges Problem. Folgend zuerst der Code:

  function scrollto (dotid) {
    if ( arbeiten_scrollable ) {
      arbeiten_scrollable = false;
      for (i=1; i<=AnzahlArbeiten; i++) {
        document.images["dot_"+i].src = "Bilder/contentdot_off.png";
      }
      //alert("dot_"+dotid);
      document.images["dot_"+dotid].src = "Bilder/contentdot_on.png";
      block_arbeiten_derzeit = document.getElementById("block_arbeiten").scrollLeft;
      block_arbeiten_scrollto = arbeiten_scrollToX[dotid-1]  * myWidth/1440;
      if( block_arbeiten_derzeit < block_arbeiten_scrollto ) {
        displace = 1;
        gothere = window.setInterval (scrolltonewpos, 20);
      }
      if( block_arbeiten_derzeit > block_arbeiten_scrollto ) {
        displace = -1;
        gothere = window.setInterval (scrolltonewpos, 20);
      }
    }
  }

Zusammenhang: im HTML-Teil der Seite sind 14 Punkte (Bilddateien, jpgs) mittels <a...> und <img ...> als links gesetzt. Namen der imgs sind "dot_1" bis "dot_14". Der Aufruf der js-Funktion funktioniert wunderbar. Beim Aufruf der Funktion ist einer der Punkte dunkler (mittels anderer Bilddatei), weil aktiv. 'dotid' übergibt die Nummer des Punktes (1-14), der angeclickt wurde. Mit der for-Schleife lade ich für alle 14 Bilder die Punkte in der Darstellung "ausgeschaltet". Das funktioniert prima (und man kann es sicher eleganter lösen). Will ich danach mittels document.images["dot_"+dotid].src = "Bilder/contentdot_on.png"; einen der Punkte wieder mit der Bilddatei im Zustand "eingeschaltet" überladen, funktioniert das nicht, das Kommando bleibt ohne Ergebnis. Erst wenn ich die hier auskommentierte Zeile mit dem alert-Befehl einfüge (alert("dot_"+dotid);), komme ich zum gewünschten Ergebnis, die neu zu ladenende Bilddatei wird sichtbar... !! Nehme ich die alert-Zeile wieder raus, bleibt das Kommando wie schon zuvor ergebnislos...

(ich habe dann noch versucht, eine Variable mit dem Wert "dot_"+dotid zu deklarieren und mittels .toString definitiv und für alle Fälle in einen String zu konvertierten - was natürlich keinen Sinn macht, aber auch nicht hilft...

So bin ich ratlos und wäre für Hilfe sehr dankbar!

Viele Grüße, awa