Thomas J.: <div>

Beitrag lesen

Bei NS 4.7 folgender Fehler

document.layers[menue] has no properties.

Hmm...

Das script:

var ie4 = (document.all) ? true : false;
       var ns4 = (document.layers) ? true : false;
       var ns6 = (document.getElementById) ? true : false;

Mal davon abgesehen, daß hier "var" eigentlich überflüssig ist (ie4 = (document.all)? true:false) geht genau so, ...

function versteckeLayer(menue)

... scheint mir der fehler hier zu liegen. Mit dem Aufruf
function versteckeLayer('menue')
müßte es dann klappen (ungetestet).

Du "vermischst" hier zwei paar Schuhe.
Mit der Notation "function irgendwas (Parameter)" erwartet der Browser beim Funktionsaufruf (dann in dem entspr. Verweis), daß auch ein Parameter angegeben wird.

Wenn Du wirklich nur einen Layer mit der ID "menue" anzeigen bzw. verstecken willst, reicht (im Head-Bereich) auch "function Name_der-Funktion ()".

Für Dein Beispiel:

1. Definition der Funktion
function versteckeLayer() {
  if (ie4) {document.all[menue].style.visibility = "hidden";}

2. Aufruf im Body durch, z.B.
  <a href="#" onClick="versteckeLayer()">Weg damit</a>

Die allgemeingültige Variante:

1. Definition
function versteckeLayer(Layername) {
  if (ie4) {document.all[Layername].style.visibility = "hidden";}

2. Aufruf im Body durch, z.B.
  <a href="#" onClick="versteckeLayer('menue')">Weg damit</a>

Damit kannst Du diese Funktion auf jeden beliebigen Div anwenden.

  • Thomas J. -