Michael Klose: Problem mit Anzeige / Verstecken von Ebenen

Beitrag lesen

Hallo,

Ich gebe in einem eingebetten Frame die Seiten meiner Homepage aus.

In der zentralen Datei, die letztendlich für den Seitenaufbau sorgt, werden im Body-Tag die zwei Div-Bereiche "Hoch" (Hochscrollen, Sprung zum Seitenanfang) und "Runter" (Runterscrollen, Sprung zum Seitenende) eingerichtet:

onload="Layer_einrichten ('Hoch', 'Runter'); Navigation_ausgeben ()"

Die Funktionen zum Anzeigen / Verbergen der Ebenen sind wie folgt definiert:

var bName = navigator.appName;
var bVer  = parseInt (navigator.appVersion);
var NS4   = (bName == "Netscape" && bVer >= 4);
var IE4   = (bName == "Microsoft Internet Explorer" && bVer >= 4);

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");
  }
}

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

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

function Layer_anzeigen (Layer)
{
  if (NS4)
    Layer.visibility = "show";

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

Die Funktion "Navigation_ausgeben" schaut folgendermassen aus:

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

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

Diese Funktion soll nun prüfen, ob die geladene Seite grösser als der Anzeigebereich ist und entsprechend den Div-Bereich "Runter" anzeigen bzw. verbergen. Standardgemäss soll der Div-Bereich "Hoch" versteckt sein, da man sich ja beim Seitenaufruf immer am Seitenanfang befindet.

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

Was habe ich falsch gemacht ?

Danke für Eure Hilfe.

Michael