no.kate: Menü erstellung

Es Folgt mein Quelltext:

==========================
<html>
<head>
<title>Gustav Meier-Hoberg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.trans {
 cursor: hand;
 filter: Alpha(Opacity=0);
}
body {
 font-family: "Times New Roman", Times, serif;
 font-size: 8px;
 font-style: italic;

}
 -->
</style>
</head>
<script language="JavaScript" type="text/JavaScript">
var c=new Array();
var cd=new Array();

function visi(obj, ihd) {
if (ihd==1) {
 cd[obj]=1;
  if (c[obj]<=100 && c[obj]>=0) {} else  {c[obj]=0;}
 c[obj]+=10;
 document.getElementById(obj).filters.alpha.opacity = c[obj];
  if (c[obj]<100 && cd[obj]!=0)
  {
   setTimeout("visi('"+obj+","+ihd+"');", 100);
  }
  else
  {
   c[obj]=0;
   cd[obj]=0;
  }
}
if (ihd==0) {
 cd[obj]=0;
 document.getElementById(obj).filters.alpha.opacity = 0;
}

}
</script>

<body bgcolor="#CCCCCC">
<div style="position: absolute; top: 53; left: 3;">
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666" bgcolor="#0066FF" class="trans" id="con1">
<tr><td>Hallo</td></tr>
</table>
</div>
<div style="position: absolute; top: 53; left: 40;">
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666" bgcolor="#0066FF" class="trans" id="con2">
<tr><td>Hallo</td></tr>
</table>
</div>
<div style="position: absolute; top: 53; left: 80;">
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666" bgcolor="#0066FF" class="trans" id="con3">
<tr><td>Hallo</td></tr>
</table>
</div>
<hr width="100%" size="1" noshade color="#999999">
<table bordercolor=#999999 border="1" cellpadding="0" cellspacing="0" bgcolor="#3D5066">
<tr><td onmouseover="visi('con1',1);" onmouseout="visi('con1',0);"> Main </td>
<td onmouseover="visi('con2',1);" onmouseout="visi('con2',0);"> Kontakt </td>
<td onmouseover="visi('con3',1);" onmouseout="visi('con3',0);"> Administration </td></tr>
</table>
<hr width="100%" size="1" noshade color="#999999"><br>
</body>
</html>

Vielleicht hat ja irgendjemand lust zu basteln? Ich habs fast(aber nur fast!!) schon aufgegeben. Wenn mir jemand die Fehler aufzeigen könnte.
Momentan scheint das setTimeout nicht zu funktionieren..
Entstehen soll letztendlich ein Menü.
so long
kate

  1. hallo Katharina ;-)

    Du nun schon wieder ... ahem, früher konntest du das mal mit einer freundlichen Anrede.

    Es Folgt mein Quelltext:

    Jo, viel Quelltext, und leider wenig aussagekräftig. Habs mir mal kopiert. Das HTML-Dokument zeigt den Ansatz einer Navigation, lesbar ist gar nix, und das mit dem Timeout läßt sich auch nicht nachvollziehen (probiert mit IE6, mozilla 1.3, Konqueror 3.1). Es ist nicht klar, wozu du das überhaupt brauchst. Laß das doch einfach weg.

    Was genau ist jetzt dein Problem? Was soll die Seite eigentlich überhaupt zeigen?

    Abgesehen davon: es ist nicht zwingend nötig, deine Tabellen jeweils gesondert in DIV's zu packen. So wie du die DIV's sehr schön mit CSS formatiert/positioniert hast, kannst du das ja auch mit der Tabelle jeweils selber machen, das verkürzt deinen Quelltext nen bißchen. Aber du bist mit deinem CSS noch nicht konsequent umgegangen. Auch die Hintergrundfarben für die Tabellen sollten per CSS bestimmt werden  -  wenn schon CSS, dann bitte auch konsequent.

    Überlegen solltest du dir auch sowas wie "filter: Alpha(Opacity=0);", das haut nicht in allen Browsern hin.

    Grüße aus Berlin

    Christoph S.

    1. so mitten aus der nacht herraus ;)
      sry, das mit der anrede tut mir echt leid ;(
      fakt ist aber das meinem settimeout 2 ' fehlten...
      so jetzt bin ich ganz happy und geh ins bettchen^^
      falsch:
         setTimeout("visi('"+obj+","+ihd+"');", 100);
      richtig:
         setTimeout("visi('"+obj+"','"+ihd+"');", 100);
      also nacht allerseits
      mfg kate

      1. hallo Kastharina,

        sry, das mit der anrede tut mir echt leid ;(

        tststs, und warum fehlt sie dann schon wieder?

        fakt ist aber das meinem settimeout 2 ' fehlten...

        Und gehts dann auch mit diesen beiden durchaus entscheidenden Hochkommas?

        so jetzt bin ich ganz happy und geh ins bettchen^^

        hrm, mußt du nun ganz alleine unter die Bettdecke krabbeln, weil du das mit dem timeout noch nicht so richtig gekonnt hast, och ...

        Grüße aus Berlin

        Christoph S.

        1. hallo Christoph,

          oje, war wohl gestern etwas müde als ich das geschrieben habe.
          werde mich jetzt bemühen an die anrede zu denken.

          Ja so wie ich ihn haben wollte funktioniert der script jetzt.
          Allerdings muss ich noch ein bisschen verändern damit das menü auch
          richtig funktioniert.

          hrm, mußt du nun ganz alleine unter die Bettdecke krabbeln, weil
          du das mit dem timeout noch nicht so richtig gekonnt hast, och ...

          Wenn das eine anspielung sein soll.. Ich habe mir Computer nunmal
          als Hobby() ausgesucht.
          Das mit dem alleine unter die bettdecke krabbeln stimmt. Einen
          Freund habe ich momentan nicht. Muss auch nicht sein nach dem
          letzten.

          mfg kate

          P.S.: ich schreib den fertigen js nochmal hierhin. Falls es dich
          interessiert.

  2. Hallo nocheinmal,
    hier wie versprochen nocheinmal der fertige js:
    --------
    <script language="JavaScript" type="text/JavaScript">
    var c=new Array();
    var cd=new Array();
    var aktiv=new Array();
    var time=new Array();
    var ups=new Array();
    //  self.style.backgroundcolor='#aaaaaa';
    function visi(obj, ihd) {
    if (ihd==1 && time[obj]!=1) {
     cd[obj]=1;
      if (c[obj]<=100 && c[obj]>=0) {} else  {c[obj]=0;   time[obj]=0;
       document.getElementById(obj).style.visibility="visible";
        //document.getElementById(obj+"x").style.top="0";
      }
      document.getElementById(obj).style.visibility="visible";
     c[obj]+=10;
     document.getElementById(obj).filters.alpha.opacity = c[obj];
      if (c[obj]<100 && cd[obj]!=0)
      {
     aktiv[obj] = setTimeout("visi('"+obj+"','2');", 40);
      }
      else
      {
       c[obj]=0;
       cd[obj]=0;
      }
    }
    if (ihd==2) {
    c[obj]+=10;
     document.getElementById(obj).filters.alpha.opacity = c[obj];
      if (c[obj]<100 && cd[obj]!=0)
      {
     aktiv[obj] = setTimeout("visi('"+obj+"','2');", 40);
      }
      else
      {
       c[obj]=0;
       cd[obj]=0;
      }
    }

    if (ihd==0) {
    if (time[obj]==0) {
    time[obj]=1;
    ups[obj] = setTimeout("visi('"+obj+"','"+ihd+"')",200);
    } else {
    window.clearTimeout(aktiv[obj]);
     cd[obj]=0;
        document.getElementById(obj).style.visibility="hidden";
     document.getElementById(obj).filters.alpha.opacity = 0;
     c[obj]=0;
     time[obj]=0;
     }
    }
    if (ihd==1) {window.clearTimeout(ups[obj]);
      time[obj]=0;
    }
    }
    </script>
    --------

    mfg kate