friederike: visibility auf IE und ns4-7

Leider läuft mein code nur auf ns4 richtig. weiß jemand Rat?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function hideLayer(nr) {
 if (n) document.layers[nr].visibility = "hide";
 if (ie) layers[nr].style.visibility = "hidden";
}

function showLayer(nr) {
if (n) document.layers[nr].visibility = "show";
if (ie) layers[nr].style.visibility = "visible";
}

//-->
</script>
</head>

<body>
<div id="Layer1" style="position:absolute; width:171px; height:115px; z-index:1; top:100; background-color: #0066FF; layer-background-color: #0066FF; border: 1px none #000000;" visibility="hide">
<p><a href="javascript:showLayer(1)"><b>Anderen Layer anzeigen</b></a><br>
(dazu wird ein einfaches JavaScript eingesetzt)</p>
<p><a href="javascript:showLayer(2)"><b>Anderen Layer anzeigen</b></a><br>
(dazu wird ein einfaches JavaScript eingesetzt)</p>
<p><a href="javascript:showLayer(3)"><b>Anderen Layer anzeigen</b></a><br>
(dazu wird ein einfaches JavaScript eingesetzt)</p>
</div>

<div id="Layer2" class="spalte1" style="position:absolute; width:200px; height:130px; z-index:2; left: 300; top: 50; visibility: hide; visibility: hidden; background-color: #006699; layer-background-color: #006699; border: 1px none #000000;">
  <p><a href="javascript:hideLayer(1)"><b>Diesen Layer verstecken</b></a><br>
    (dazu wird ein einfaches JavaScript eingesetzt)<br>
  </p>
</div>
<div id="Layer3" style="position:absolute; width:200px; height:115px; z-index:3; left: 300; top: 180; visibility: hide; visibility: hidden; background-color: #006666; layer-background-color: #006666; border: 1px none #000000;">
<p><a href="javascript:hideLayer(2)"><b>Diesen Layer verstecken</b></a><br>
(dazu wird ein einfaches JavaScript eingesetzt)</p></div>
<div id="Layer4" style="position:absolute; width:200px; height:115px; z-index:4; left: 300; top: 310; visibility: hide; visibility: hidden; background-color: #99CC33; layer-background-color: #99CC33; border: 1px none #000000;">
<p><a href="javascript:hideLayer(3)"><b>Diesen Layer verstecken</b></a><br>
(dazu wird ein einfaches JavaScript eingesetzt)</p></div>
</body>
</html>

  1. Leider läuft mein code nur auf ns4 richtig. weiß jemand Rat?

    Ist leider sehr dringend. Wäre sehr dankbar für Tipps!
    friederike

    1. Leider läuft mein code nur auf ns4 richtig. weiß jemand Rat?

      Ist leider sehr dringend. Wäre sehr dankbar für Tipps!
      friederike

      Hi, weiß da jemand Rat?
      f.

      1. Hi!

        Ist leider sehr dringend. Wäre sehr dankbar für Tipps!
        friederike

        Es ist immer dringend. Aber ich empfehle dir dringend SelfHTML zu lesen und weitest gehend auch nachvollziehen zu können.
        Nur zwei Hinweise:

        1. document.layers[id] gibt es NUR für den NN4
        2. für alle anderen funktioniert document.getElementById(id)

        Gruß Herbalizer

        PS: document.all für IE4 lass ich mal unter den Tisch fallen.

        --
        SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
        sh:( fo:) ch:? rl:( br:> n4:& ie:% mo:} va:} de:] zu:) fl:{ ss:) ls:& js:|
        1. Hi!

          Ist leider sehr dringend. Wäre sehr dankbar für Tipps!
          friederike

          Es ist immer dringend. Aber ich empfehle dir dringend SelfHTML zu lesen und weitest gehend auch nachvollziehen zu können.
          Nur zwei Hinweise:

          1. document.layers[id] gibt es NUR für den NN4
          2. für alle anderen funktioniert document.getElementById(id)

          Gruß Herbalizer

          PS: document.all für IE4 lass ich mal unter den Tisch fallen.

          »»

          Hi Herbalizer,
          ist das das, was du meinst?

          function hideLayer() {
           if (ns4) {document.layers[id].visibility = "hide"}
           else {document.getElementById(id).style.visibility = "hidden"}
          }

          function showLayer() {
          if (ns4) {document.layers[id].visibility = "show"}
          else {document.getElementById(id).style.visibility = "visible"}
          }
          Entschuldige meinen schmalen Verstand!
          Grüße f.

          1. habe d'ehre

            Geduld ist eine Tugend.

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            <html>
            <head>
            <title>Untitled Document</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <script language="javascript" type="text/javascript">

            if (document.getElementById) // IE 5.x und NN 6
            {browser = 'W3Cdom';}
            if (document.layers) // NN 4.x
            {browser = 'Netscape';}
            if (document.all && !document.getElementById) // IE 4
            {browser = 'Explorer';}

            function hideLayer(dividx)
            {
            divid = "Layer" + dividx;
            if (browser=="W3Cdom"){document.getElementById(divid).style.visibility="hidden";}
            if (browser=="Netscape"){document.layers[divid].visibility="hide";}
            if (browser=="Explorer"){document.all[divid].style.visibility="hidden";}
            }
            // einschalten Layer fuer 2.Ebene
            function showLayer(dividx)
            {
            divid = "Layer" + dividx;
            if (browser=="W3Cdom"){document.getElementById(divid).style.visibility="visible";}
            if (browser=="Netscape"){document.layers[divid].visibility="show";}
            if (browser=="Explorer"){document.all[divid].style.visibility="visible";}
            }

            function hideAll()
            {
            hideLayer(2);
            hideLayer(3);
            hideLayer(4);
            }

            </script>

            <style type="text/css">

            #Layer1 {position:absolute;width:171px;z-index:1;top:100px;layer-background-color:#0066FF;border:1px none #000000;}
            #Layer2 {position:absolute;width:200px;z-index:2;left:300px;top:50px;layer-background-color:#006699;border:1px none #000000;}
            #Layer3 {position:absolute;width:200px;;z-index:3;left:300px;top:180px;layer-background-color:#006666;border:1px none #000000}
            #Layer4 {position:absolute;width:200px;z-index:4;left:300px;top:310px;layer-background-color:#99CC33;border:1px none #000000}

            @media all
            {
            #Layer1 {position:absolute;width:171px;z-index:1;left:10px;top:100px;background-color:#0066FF;border:1px none #000000;}
            #Layer2 {position:absolute;width:200px;z-index:2;left:300px;top:50px;background-color:#006699;border:1px none #000000;}
            #Layer3 {position:absolute;width:200px;z-index:3;left:300px;top:180px;background-color:#006666;border:1px none #000000}
            #Layer4 {position:absolute;width:200px;z-index:4;left:300px;top:310px;background-color:#99CC33;border:1px none #000000}
            }
            </style>

            </head>

            <body onload="hideAll()">
            <div id="Layer1">
            <a href="#" onclick="showLayer(2);"><b>Anderen Layer anzeigen</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)<br>
            <a href="#" onclick="showLayer(3);"><b>Anderen Layer anzeigen</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)<br>
            <a href="#" onclick="showLayer(4);"><b>Anderen Layer anzeigen</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)<br>
            </div>

            <div id="Layer2"><p><a href="#" onclick="hideLayer(2);"><b>Diesen Layer verstecken</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)</p></div>
            <div id="Layer3"><p><a href="#" onclick="hideLayer(3);"><b>Diesen Layer verstecken</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)</p></div>
            <div id="Layer4"><p><a href="#" onclick="hideLayer(4);"><b>Diesen Layer verstecken</b></a><br>(dazu wird ein einfaches JavaScript eingesetzt)</p></div>

            </body>
            </html>

            --
            carpe diem
            Wilhelm
            1. Geduld ist eine Tugend.

              Wohl wahr!
              Viieeeeelen Dank!

          2. Hi!

            function hideLayer() {
            if (ns4) {document.layers[id].visibility = "hide"}
            else {document.getElementById(id).style.visibility = "hidden"}
            }

            function showLayer() {
            if (ns4) {document.layers[id].visibility = "show"}
            else {document.getElementById(id).style.visibility = "visible"}
            }

            Jau. Allerdings muss id ein String sein, sprich in der obigen Notation ist id eine Variable, die mit einem String gefüllt werden muss.
            Du solltes ausserdem korrekterweise noch prüfen, ob getElementById wirklich unterstützt wird:

            if(ns4){
              // Code NN4
            } else if( document.getElementById ){
              // Code Rest
            }

            Und da weitaus mehr Browser getElementById beherrschen drehen wir das ganze um, und weil das spass macht können wir den IE 4 auch noch mal reinnehmen:
            if( document.getElementById ){
              // Code für NN6/7/Mozilla,Opera,Konqueror und einige andere moderne Browser
            } else if( ns4 ){
              // Code NN4
            } else if( document.all ){
              // Code IE4
              document.all[id].style.visibility
            }

            Und ich hoffe mal das du den ns4 über die Existenz von document.layers prüfst und nicht über das navigator-Objekt.

            Gruß Herbalizer

            --
            SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
            sh:( fo:) ch:? rl:( br:> n4:& ie:% mo:} va:} de:] zu:) fl:{ ss:) ls:& js:|