Bernd: Problem bei Variablenübergabe

Hallo,

ich bin dabei ein Menu in Javascript zu basteln. Dazu übergebe ich einer Funktion den Wert menu_id. menu_id hat den Wert 1, 2, 3,...
In der Funktion sollen div-Elemente mit den id's popup1, popup2, popup3,... sichtbar gemacht werden.

Für einen Browser mit der Bezeichnung Netscape in der Generation 5 oder 6 habe ich das folgendermaßen gemacht.

window.document.getElementById("popup" + menu_id).style.visibility = "visible";

Das funktioniert auch, will ich die div-Elemente für einen alten Netscape-Browser oder einen anderen(IE) Browser sichtbar machen, so funktioniert es nicht mit dem folgenden Script.

var popupid = "popup" + menu_id;

//wenn  NS unter Generation 4
window.document.popupid.visibility="show";

//wenn  es anderer Brwoser ist
window.popupid.style.visibility="visible";

Der Fehler liegt scheinbar an der Zusammensetzung der Variable popupid, denn wenn ich die Bezeichnungen(IDs) der Div-Elemente direkt angebe, also z.B.
window.popup1.style.visibility="visible";
dann funktioniert das Skript.

Wo liegt der Fehler?

mfg

Bernd

  1. einfach mal ein wilder gedanke in den Raum geworfe zum ausprobieren:

    hast du in popup die Zahl 1,2,3... mit oder ohne "" gespeichert?
    änder das mal..

    iust wie gesagt nur ne spontane idee.. was ich zuerst versuchen würde..

    gruß

    1. Hallo,

      hast du in popup die Zahl 1,2,3... mit oder ohne "" gespeichert?
      änder das mal..

      die 1, 2, 3,... werden als quasi Integer an die Funktion
      function showmenu(menu_id){} übergeben. Der Funktionsaufruf lautet
      onMouseOver="showmenu(1);

      mfg

      Bernd

  2. Dir hilft der [] operator

    Struppi.