daChris: Warum nur im IE richtig?

Hi, hier ist das Skript,
funzt leider nur im IE richtig...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="pragma" content="no-cache">
</head>

<script type="text/javascript">

function zeigen(was)
{
 window.document.getElementById( was ).style.display="inline";
}

function verstecken(was)
{
 window.document.getElementById( was ).style.display="none";
}
</script>

<body>
 <div onMouseOver="zeigen('menu1')" onMouseOut="verstecken('menu1')">
  <div class="hmenu">Hauptmenü1</div>
  <div id="menu1" class="menu">Menü1<br>Menü2<br>Menü3</div>
 </div>
 <div onMouseOver="zeigen('menu2')" onMouseOut="verstecken('menu2')">
  <div class="hmenu">Hauptmenü2</div>
  <div id="menu2" class="menu">Menü1<br>Menü2<br>Menü3</div>
 </div>
 <script type="text/javascript">
  verstecken( 'menu1' );
  verstecken( 'menu2' );
 </script>
</body>
</html>

Was stimmt hier nicht???

Tscahu der Chris

  1. Hallo!

    Ich weiß nciht was du für einen Browser verwendest aber es funktioniert bei Mozilla, IE, Opera, Netscape, es ist sogar für nn4 brauchbar auch wenn es den display effekt nicht hat.

    MFG RObert

    1. Moin,

      Ich verwende den IE, Netscape, Mozilla und Opera...
      Bei allen außer IE fährt das Menü nicht richtig rein, erst wenn man das zweite mal auf dem letzten Untermenü herumfährt...

  2. funzt leider nur im IE richtig...

    Im Mozilla gibt es eine sogenante JS Konsole, die die Fehler anzeigt.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Menu</title>
    </head>

    <script type="text/javascript">

    function zeigen(was)
    {
    window.document.getElementById( was ).style.display="inline";
    }

    sinnvoll ist es auf jeden Fall zu prüfen was du machst:

    function zeigen(was)
    {
    if(!was) return;
    var obj = window.document.getElementById( was );
    if(!obj) return;
    obj.style.display = "inline";
    }

    und bei den returns kannst du evtl noch Warnmeldungen ausgeben lassen, sonst weißt du ja gar nicht ob das passiert, was passieren soll.

    <body>
    <div onMouseOver="zeigen('menu1')" onMouseOut="verstecken('menu1')">
      <div class="hmenu">Hauptmenü1</div>
      <div id="menu1" class="menu">Menü1<br>Menü2<br>Menü3</div>
    </div>

    Das ist ein DIV Suppe. Menüs lassen sich ion der Regel als Listen darstellen. Hier gibt es schöne Beispiele dazu http://css.maxdesign.com.au/index.htm

    Was stimmt hier nicht???

    kein Ahnung, das was du uns zeigst sollte eigentlich funktionieren.
    Was ich mir noch vorstellen kan, ist das du irgendwelche Namen vielleicht doppelt vergeben hast.

    Struppi.

    1. da habsch mich geiirt...

      Funktioniert nur im Netscape nicht richtig
      => ignoriere ich halt...

      Wenn ich soviele Abfragen mache, wird das zu lam, deswegen hab ich drauf verzichtet...
      Die Abfragen hatte ich aber vorher.

      Danke.

      1. da habsch mich geiirt...

        Funktioniert nur im Netscape nicht richtig
        => ignoriere ich halt...

        Wenn ich soviele Abfragen mache, wird das zu lam, deswegen hab ich drauf verzichtet...

        Was hast du den für 'nen Rechner einen 386'er?

        Ich arbeite teilweise mit einem Pentium 100 und merk durch solche Abfragen keinen Unterschied. Dafür findest du aber deine Fehler nicht.

        Struppi.