Philipp Hasenfratz: Problem mit Anzeige / Verstecken von Ebenen

Beitrag lesen

Halihallo Michael

function Layer_einrichten (Layer_1, Layer_2)
{
  if (NS4)
  {
    objekt1 = eval ("document." + Layer_1);
    objekt2 = eval ("document." + Layer_2);
  }

if (IE4)
  {
    objekt1 = eval ("document.all." + Layer_1 + ".style");
    objekt2 = eval ("document.all." + Layer_2 + ".style");
  }
}

Was bringt dir das Zeug hier? - Die Funktion macht für deinen
Kontext so ziemlich gar nichts... Irgendwas wird mit dem bösen eval
zu was anderem gemacht. Dieses andere etwas trägt wahlweise die Namen
objekt1 und objekt2 und werden nirgendwo sonst wieder verwendet =>
die Funktion ist zu nix zu gebrauchen und ich sehe deren Sinn
überhaupt nicht ein...

function Layer_verstecken (Layer)
{
  if (NS4)
    Layer.visibility = "hide";

if (IE4)
    Layer.visibility = "hidden";
}

schreib hier mal ein

alert(typeof Layer);

rein und staune: Du übergibst einen String und dieser kennt kein
Property ".visibility"!

function Layer_anzeigen (Layer)
{

s. oben.

}
function Navigation_ausgeben ()
{
  Layer_verstecken ("Hoch");

if (document.body.scrollHeight < document.body.clientHeight)
    Layer_verstecken ("Runter");
  else
    Layer_anzeigen ("Runter");
}

s. oben: Du übergibst einen String und kein HTMLElement (div).
Schreib z.B. so:

Layer_verstecken(document.all["Hoch"].style);
Wenn object1 und object2 im Script global sind geht sogar:

Layer_verstecken(object1); // das geht dann für alle deine
                           // unterstützten Browser (IE und NS4)

dann gehts zumindest auf dem IE. Verallgemeinere das Prozedere, dann
gehts auf IE und NS4 (4! - Nicht 6, nicht 7!). Und erweitere das
ganze um die Unterstützung für DOM-fähige Browser (IE6,NS6,NS7, und
viele mehr) und dann ist die Lösung halbwegs gut.

Nun ist es aber so, dass beide Div-Bereiche angezeigt werden, d.h. meine Initialisierung greift nicht.

string.visibility ist keine Eigenschaft von string und hat mit der
Sichtbarkeit des Layers herzlich wenig zu tun.

Viele Grüsse

Philipp