Hi Gunnar,
das ist eigentlich nicht "meine Baustelle", aber so viel Mühe bei der Beschreibung Deines Problems möchte ich gerne zu honorieren versuchen.
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ns6 = (document.getElementById)? true:false
das ist natürlich stark vereinfachend, sollte für Deinen Fall aber reichen - solange Deine if-else-Struktur wie beschrieben abläuft.
(Wenn Du aber diese Abhängigkeit hast, dann kannst Du aich gleich die entsprechenden Abfragen in "hide()" einfügen - der Sinn der Sache wäre ja, daß Deine drei Variablen universell verwendbar wären, und das sind sie nicht - was von diesen ist Opera?)
nam = "sm".concat(i.toString(10));
Interessante Methode, das. Ich mußte dreimal hinsehen, bis ich verstanden habe, was Du da treibst. Aber Du scheinst genau das ja erfolgreich überprüft zu haben ...
nhmenu beträgt elf. ein alert vor dem aufruf von hide hat gezeigt,
das name (variable nam) und nummer (nhmenu )richtig erkannt sind,
die schleife unter NS4 allerdings nur einmal aufgerufen wird,
dann schweigt alles.
Das klingt nach einem Laufzeitfehler Deines JavaScript-Codes in Netscape 4 (es sei denn, Du hast irgendwo Seiteneffekte, welche den Wert von "nhmenu" verändern).
Was wird angezeigt, wenn Du in die URL-Zeile von Netscape4 "javascript:" eingibst?
Unter NS 6.2 und IE 6 scheint alles richtig abzulaufen.
Vielleicht bin ich ja nur betriebsblind geworden, aber kann mir
jemand sagen wo ich den fehler mache?
Ich kann Dich nur auf die Möglichkeit hinweisen, JavaScript-Fehler in Netscape 4 anzuzeigen.
Anscheinend überforderst Du die "Kröte" mit irgendwas, das mehr als JavaScript 1.2 verlangt oder was auch immer ... das würde Dir aber die JavaScript-Konsole zeigen.
Viele Grüße
Michael
P.S.: Online-Stellen der Seite wäre nicht schlecht gewesen.