Thomas: Navigationsleiste

Hallo,

ich versuche verzweifelt eine Navigationsleiste für meine Homepage zu erstellen. Ich hab nur ein Problem: Ich versuche dynamische Buttons für diese Leiste einzusetzen, so wie bei selfhtml: http://de.selfhtml.org/javascript/beispiele/buttons.htm .Wenn man aber auf der Seite dann über einen normalen Button fährt, erscheint der Highlight-Button nicht über dem normalen Button, sondern darüber. Ich bitte um Hilfe. Die Datei dhtml.js stammt von Selfhtml.

http://de.selfhtml.org/dhtml/beispiele/dhtml_bibliothek.htm

Hier der Quelltext:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>Test</title>
  <script type="text/javascript" src="dhtml.js"></script>
  <script type="text/javascript">
function Menue () {
  if (typeof window.pageYOffset == "number") {
    if (NS4) {
      getElement("id", "Nav").top = window.pageYOffset + 50;
    } else {
      getElement("id", "Nav").style.top = window.pageYOffset + 50;
    }
  } else {
    if (typeof document.body.scrollTop == "number")
      getElement("id", "Nav").style.top = document.body.scrollTop + 50;
  }
  if (OP)
    getElement("id", "NavLinks").style.pixelTop = NavLinksPos;
  if (NS4) {
    getElement("id", "Nav").visibility = "show";
  } else {
    getElement("id", "Nav").style.visibility = "visible";
  }
}

function noMenue () {
  if (NS4) {
    getElement("id", "Nav").visibility = "hide";
  } else {
    getElement("id", "Nav").style.visibility = "hidden";
  }
}

function handleMove (ev) {
  if (!ev)
    ev = window.event;
  var mausposition = ev.pageX ? ev.pageX : ev.clientX;
  if (mausposition < 20) {
    Menue();
  } else {
    if (mausposition > 250) {
      noMenue();
    }
  }
}

function Event_init () {
  if (document.addEventListener) {
    document.addEventListener("mousemove", handleMove, true);
  } else {
    if (NS4) {
      document.captureEvents(Event.MOUSEMOVE);
      document.onmousemove = handleMove;
    } else {
      document.body.onmousemove = handleMove;
    }
  }
  if (OP) {
    NavLinksPos = 42; // Position des Bereiches NavLinks
    getElement("id", "NavLinks").style.pixelTop = NavLinksPos;
  }
}
  </script>
  <script type="text/javascript">
Normal1 = new Image();
Normal1.src = "button1.gif";
Highlight1 = new Image();
Highlight1.src = "button1h.gif";

Normal2 = new Image();
Normal2.src = "button2.gif";
Highlight2 = new Image();
Highlight2.src = "button2h.gif";

Normal3 = new Image();
Normal3.src = "button3.gif";
Highlight3 = new Image();
Highlight3.src = "button3h.gif";

function Bildwechsel (Bildnr, Bildobjekt) {
  window.document.images[Bildnr].src = Bildobjekt.src;
}
  </script>
  <style type="text/css">
body { color:black; background-color:white; background-image:url(navigation_back.gif);
  margin:0; padding:20px 50px; font-family:Tahoma,sans-serif; }
#Nav { position:absolute; top:50px; left:0; visibility:hidden; }
#NavLinks { position:absolute; top:42px; left:42px; }
#Nav a:link {color:#000080; font-weight:bold; font-size:13px; text-decoration:none; }
#Nav a:visited { color:#000080; font-weight:bold; font-size:13px; text-decoration:none; }
#Nav a:hover { color:#FFFFFF; background-color:#000080; font-weight:bold;
  font-size:13px; text-decoration:none; }
#Nav a:active { color:#000080; font-weight:bold; font-size:13px; text-decoration:none; }
  </style>
</head>
<body onload="Event_init()">
<div id="Nav"> <img src="navigation.gif" width="250" height="450"
 border="0" alt="">
<div id="NavLinks"> <a href="../../../index.htm"
 onmouseover="Bildwechsel(0, Highlight1)"
 onmouseout="Bildwechsel(0, Normal1)"><img src="button1.gif" width="130"
 height="30" border="0" alt="Home"></a><br>
<a href="../../../helferlein/index.htm"
 onmouseover="Bildwechsel(1, Highlight2)"
 onmouseout="Bildwechsel(1, Normal2)"><img src="button2.gif" width="130"
 height="30" border="0" alt="Helferlein"></a><br>
<a href="../../../layouts/index.htm"
 onmouseover="Bildwechsel(2, Highlight3)"
 onmouseout="Bildwechsel(2, Normal3)"><img src="button3.gif" width="130"
 height="30" border="0" alt="Layouts"></a><br>
</div>
</div>
<br>
</body>
</html>

mfG

TH

  1. Wenn man aber auf der Seite dann über einen normalen Button fährt, erscheint der Highlight-Button nicht über dem normalen Button, sondern darüber.

    <body onload="Event_init()">
    <div id="Nav"> <img src="navigation.gif" width="250" height="450"
    border="0" alt="">
    <div id="NavLinks"> <a href="../../../index.htm"
    onmouseover="Bildwechsel(0, Highlight1)"
    onmouseout="Bildwechsel(0, Normal1)"><img src="button1.gif" width="130"
    height="30" border="0" alt="Home"></a><br>
    <a href="../../../helferlein/index.htm"
    onmouseover="Bildwechsel(1, Highlight2)"
    onmouseout="Bildwechsel(1, Normal2)"><img src="button2.gif"
    ......

    Du hast dem ersten Button die Index-Nummer [0] zugeteilt, obwohl davor noch eine andere Grafik steht ...
    Folglich mußt du die Index-Nummern alle um 1 hochzählen, also:
    onmouseover="Bildwechsel(1, Highlight1)" onmouseout="Bildwechsel(1, Normal1)"><img src="button1.gif"
    usw ...
    Gruß Frodo