dante: NETSCAPE 6 und display block

hallo ihr!

ich habe eine funktion die mir je machdem layer ausblendet oder einblendet:

function wechsel(show, hid1, hid2, hid3, hid4, hid5){
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

if (ie4) {
document.all[hid1].style.visibility = "hidden";
(..)
document.all[show].style.visibility = "visible";
}
if (ns4) {
document.layers[hid1].visibility = "hide";
(..)
document.layers[show].visibility = "show";
}
if (ns6) {
document.getElementById([hid1]).style.display = "none";
(..)
document.getElementById([show]).style.display = "block";
}
}

bei allen browsern (soweit getestet ;) ) funktioniert es bestens nur der netscape 6 zickt rum. nachdem auf ein punkt geklickt wurde. verschwinden alle und es taucht der geklickte punkt NICHT auf. als einzige kann man dann nur noch den ersten punkt anwählen - der wird brav sichtbar. die anderen sind im byte nirvana verloren gegangen.

hoffe mal die lösung dafür weiss jemand hier!

  1. Hi,

    document.getElementById([hid1]).style.display = "none";

    Was versprichst Du Dir von den eckigen Klammern um den Parameter?
    (ich meine außer daß das zu Fehlermeldungen und Nicht-Ausführung des Scripts führt...)

    bei allen browsern (soweit getestet ;) ) funktioniert es bestens nur der netscape 6 zickt rum.

    SISO - Shit in, shit out.
    Dein Script ist falsch.

    nachdem auf ein punkt geklickt wurde. verschwinden alle und es taucht der geklickte punkt NICHT auf. als einzige kann man dann nur noch den ersten punkt anwählen - der wird brav sichtbar. die anderen sind im byte nirvana verloren gegangen.

    Weiß nicht, ob der Netscape 6 das schon hatte, aber aktuelle Netscape-Versionen sollten eigentlich die Javascript-Konsole haben, wo sehr genaue Fehlermeldungen ausgegeben werden.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. ...

      Weiß nicht, ob der Netscape 6 das schon hatte, aber aktuelle Netscape-Versionen sollten eigentlich die Javascript-Konsole haben, wo sehr genaue Fehlermeldungen ausgegeben werden.

      javascript: in die Adressleiste tippen. das geht seit NS 4.0 so

    2. Hi,

      document.getElementById([hid1]).style.display = "none";

      (..)eckigen Klammern um den Parameter?
      (ich meine außer daß das zu Fehlermeldungen und Nicht-Ausführung des Scripts führt...)

      das script wurde trotzdem ausgeführt, naja wenn sie falsch sind kommen sie raus...

      bei allen browsern (soweit getestet ;) ) funktioniert es bestens nur der netscape 6 zickt rum.

      SISO - Shit in, shit out.
      Dein Script ist falsch.

      ??? warum funktioniert es dann bei IE 4 -> IE 6 und netscape 4?

      ich suche eigentlich nur die möglichkeit zum layer ein-/ausblenden für den netscape 6 und höher bzw auch für opera.

      Weiß nicht, ob der Netscape 6 das schon hatte, aber aktuelle Netscape-Versionen sollten eigentlich die Javascript-Konsole haben, wo sehr genaue Fehlermeldungen ausgegeben werden.

      ja. bei mir schreibt er " error: too much recursion"

      nur kann ich mir keinen reim draufmachen woran/warum das kommt.

  2. ich habe mich jetzt einfach an den ofiziellen standard gehalten (als dritte möglichkeit anstatt des netscape 6 codes) und damit funktioniert es.

    danke für keine hilfe

    =)