Manfred Renner: Manipulation von CSS im Netscape-Browser

Gibt es eine Möglichkeit, in Netscape mit JavaScript die Style-Attribute bestimmter HTML-Elemente zu ändern (wie z.B.: Mit Microsofts "document.all")?

Konkreter Fall ist das Problem eines Block-Elements, dem ich mit { display:none; } zunächst sagen will, dass es
1. nicht sichtbar ist, und
2. keinen Platzhalter in dem Dokument lassen soll.
Die Möglichkeit die Anzeige mit Layern zu manipulieren (document.layers[x].visibility = "hide";) läßt leider einen freien Raum zurück.

  1. Gibt es eine Möglichkeit, in Netscape mit JavaScript die Style-Attribute bestimmter HTML-Elemente zu ändern (wie z.B.: Mit Microsofts "document.all")?

    Konkreter Fall ist das Problem eines Block-Elements, dem ich mit { display:none; } zunächst sagen will, dass es

    1. nicht sichtbar ist, und
    2. keinen Platzhalter in dem Dokument lassen soll.
      Die Möglichkeit die Anzeige mit Layern zu manipulieren (document.layers[x].visibility = "hide";) läßt leider einen freien Raum zurück.

    Hallo Manfred,

    möchtest du diesen Abschnitt dauerhaft ausblenden genügt auch beim Navigator display:none
    Zum wahlweisen Einblenden der Abschnitte mußt du den freien Raum durch gezielte Verschiebung der Layer schließen. Das bedeutet beim Ausblenden eine Verschiebung nach oben und beim Einblenden nach unten. Der zugehörige Befehl ist moveBy(x,y). Die jeweiligen Werte mußt du durch experimentieren ermitteln.

    Viele Grüße

    Antje

    PS: Auf meiner Homepage wird genau dieses Verfahren bei der Menüsteuerung angewendet.

    1. Zum wahlweisen Einblenden der Abschnitte mußt du den freien Raum durch gezielte Verschiebung der Layer schließen. Das bedeutet beim Ausblenden eine Verschiebung nach oben und beim Einblenden nach unten. Der zugehörige Befehl ist moveBy(x,y). Die jeweiligen Werte mußt du durch experimentieren ermitteln.

      Hallo

      Du kannst aber auch beim verschieben die höhe der
      Layer abfragen und denn entsprechen deren grösse verschieben.
      ich mache das so :

      function getHeight(name) {
        if (NS && document.layers[name]) {return document.layers[name].document.height}
        if (IE && document.all[name])    {return document.all[name].offsetHeight}
        return 0;
      }

      gruss
      Jens