Lars: NS4: Div Bereich in Tabelle nicht angezeigt

Hallo zusammen,

ich habe ein Problem mit dem NS4: Wenn ich einen div-Bereich in den <head> schreibe, läuft es problemlos. Verschiebe ich ihn in eine Tabelle weiter unten im body zeigts mir den nicht mehr an.

die CSS des div-Bereichs:
#project
{
        visibility:                           hidden;
        z-index:                              50;
        position:                             absolute;
        top:                                  677px;
        left:                                 395px;
        overflow:                             hidden;
}

der Div-Bereich, den ich verschiebe und der dann nicht mehr angezeigt wird:
<div id="project">
<table width="360">
<tr>
<td>
<a href="./home.php" onClick="this.blur();" class="navigation"> Home</a><br>
<a href="./veranstaltungen/suchen.php" onmouseover="show('veranstaltungen');hiderest('fotos','community','impressum');status='| com | Veranstaltung suchen |';return true;" onClick="this.blur();" class="navigation"> Veranstaltungen</a><br>
<a href="#" onmouseover="show('fotos');hiderest('veranstaltungen','community','impressum');" onClick="this.blur();" class="navigation"> Fotos</a><br>
<a href="#" onmouseover="show('community');hiderest('fotos','veranstaltungen','impressum');" onClick="this.blur();" class="navigation"> Community</a><br>
<a href="#" onmouseover="show('impressum');hiderest('fotos','veranstaltungen','community');" onClick="this.blur();" class="navigation"> About project</a>
</td>
</tr>
</table>
</div>

der Link, mit dem der div-Bereich erscheint:
<a href="#" onmouseover="hideall();show('project');status='| com | Hauptmenü |';return true;" onClick="this.blur();" class="navigation">project</a>

Ist jemandem diese Problem bekannt? Vielleicht mach ich ja auch was falsch gemacht? Ich bin total ratlos!
Gruß, Lars.

  1. Hallo,

    wie sieht denn Deine Funktion show() aus? Hast Du die abweichende NS4-Syntax dort berücksichtigt?

    Grüße,

    Utz

    --
    Mitglied im Ring Deutscher Mäkler
    1. Hallo,

      ja, ich habe die Syntax für den NS4 berücksichtigt. Hier aber zur Sicherheit der Code.

      if (isNav4)
      {
              vorne = ".layers['";
              hinten = "']";
      }
      else if (isNav6)
      {
              vorne = ".getElementById('";
              hinten = "').style";
      }
      else if (isIE)
      {
              vorne = ".all.";
              hinten = ".style";
      }

      function show(obj)
      {
              var theObj = eval("document" + vorne + obj + hinten);
              theObj.visibility = "visible";
              if (isNav4)
              {
                      window.setTimeout("hide('" + obj + "')", 4000);
              }
      }

      function hide(obj)
      {
              var theObj = eval("document" + vorne + obj + hinten);
              theObj.visibility = "hidden";
      }

      Wie gesagt, wenn ich den div-Bereich in den Head schreibe, funktioniert alles problemlos, verschiebe ich ihn aber einfach nur in eine Tabelle weiter unten oder einen anderen div-Bereich, wird der div-Bereich nicht mehr angezeigt.

      1. Hallo,

        ja, ich habe die Syntax für den NS4 berücksichtigt.

        Halb zumindest ;-) NS 4 erwartet als Wert für visibility nicht etwa visible und hidden, sondern show und hide, vgl. http://selfhtml.teamone.de/javascript/objekte/layers.htm#visibility

        Grüße,

        Utz

        --
        Mitglied im Ring Deutscher Mäkler
        1. Hallo,

          ja, ich habe die Syntax für den NS4 berücksichtigt.

          Halb zumindest ;-) NS 4 erwartet als Wert für visibility nicht etwa visible und hidden,

          das ist so falsch.

          Wenn die intern beim Netscape 4 per JavaScript gesetzte Eigenschaft der visibility extra per JavaScript abgefragt werden muss, gilt es allerdings die genannte eigene Syntax abzufragen, ansonsten ist aber die einheitliche Syntax hidden und visible problemlos in Style und JavaScript möglich und zur Vereinfachung und Vereinheitlichung m.E. auch unbedingt vorzuziehen.

          Der Beispielcode funktioniert übrigens bei mir unter Netscape 4 auch mit table, das Problem ist also offenbar woanders im restlichen Code zu suchen.

          Grüsse

          Cyx23

          1. Hallo,

            Du hast recht:

            theObj.visibility = "visible";
            alert(theObj.visibility);

            ergibt "show".

            Grüße,

            Utz

            --
            Mitglied im Ring Deutscher Mäkler