chacharon: Mozilla will einfach nicht

Hi Leute,

Nach stundenlangem Suchen und Probieren hoffe ich hier Rat zu finden.
Ich habe vor Jahren eine Seite gemacht, deren Navigation von Mozilla nicht gelesen wird. Nun möchte ich das Script umschreiben, aber es gelingt mir einfach nicht.

Folgender Code im HEAD:

<!-- Navigation-->

<style type="text/css">
a.m { font: 11pt arial; color: white; text-decoration: none }
a:active.m { color: yellow; text-decoration: none; }
a:hover.m { color: yellow; text-decoration: none; }

a.subw { font: 11pt arial; color: white; text-decoration: none }
a:active.subw { color: yellow; text-decoration: none; }
a:hover.subw { color: white; text-decoration: none; }

a.subp { font: 11pt arial; color: white; text-decoration: none }
a:active.subp { color: yellow; text-decoration: none; }
a:hover.subp { color: white; text-decoration: none; }

a.subm { font: 11pt arial; color: white; text-decoration: none }
a:active.subm { color: yellow; text-decoration: none; }
a:hover.subm { color: white; text-decoration: none; }

a.subf { font: 11pt arial; color: white; text-decoration: none }
a:active.subf { color: yellow; text-decoration: none; }
a:hover.subf { color: white; text-decoration: none; }

a.sube { font: 11pt arial; color: white; text-decoration: none }
a:active.sube { color: yellow; text-decoration: none; }
a:hover.sube { color: white; text-decoration: none; }

a.subs { font: 11pt arial; color: white; text-decoration: none }
a:active.subs { color: yellow; text-decoration: none; }
a:hover.subs { color: white; text-decoration: none; }

#box {
position:absolute;
visibility:hidden;
 }

#iebox {background-color:#D25A78 }

#iebox1 {background-color:#4B96C3 }

#iebox2 {background-color:#6FB42A }

#iebox3 {background-color:#BA9E4E }

#iebox4 {background-color:#FF9701 }

#iebox5 {background-color:#9966CC }

#iebox6 {background-color:green }

</style>

<script language="JavaScript">
<!--

var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

function DHTML_init() {

// wenn er das W3C-Modell kennt (Mozilla, IE ab 5) bekommt DOM den Wert 1
 if(document.getElementById) {
   DOM = 1;
 }

// wenn er ein IE ist, bekommt MS den Wert 1
 if(document.all && !OP) {
   MS = 1;
 }

// wenn er ein Netscape 4 ist bekommt NS den Wert 1
if (window.netscape && window.screen && !DOM && !OP){
   NS = 1;
 }
}

DHTML_init();

function openIt(x) {
     var items = 44
     for (i=0; i<=items; i++) {

if(MS = 1) {
  document.all.box[i].style.visibility = "hidden";
  document.all.box[x].style.visibility = "visible";
  document.all.box[x].style.top = "31";
       }
else if(DOM = 1) {
  document.getElementById("box")[i].style.visibility = "hidden";
  document.getElementById("box")[x].style.visibility = "visible";
  document.getElementById("box")[x].style.top = "31";
       }
else if(NS = 1) {
  document.layers[i].visibility = "hide";
  document.layers[x].visibility = "show";
  document.layers[x].top="32";
       }
    }
}

function subDrop(y) {
     var items = 45
     for (i=7; i<items; i++) {
  if(MS = 1){
      document.all.box[i].style.visibility = "hidden";
      document.all.box[y].style.top = "54";
      document.all.box[y].style.visibility = "visible";
       }
  else if(DOM = 1){
      document.getElementById("box")[i].style.visibility = "hidden";
      document.getElementById("box")[y].style.top = "54";
      document.getElementById("box")[y].style.visibility = "visible";
       }
  else if(NS = 1){
      document.layers[i].visibility = "hide";
      document.layers[y].top = "54";
      document.layers[y].visibility = "show";
        }
    }
}

//-->
</script>

Hier ein Textausschnitt im Body - die Hauptleiste der Navigation:

<table border="1" cellpadding="1" cellspacing="1" width="100%" bgcolor="#008000" height="26" bordercolor="#FFFFFF">

<tr>
<td align="center" nowrap valign="middle" onClick="this.style.backgroundColor='green'" ><a class=m href="Nav2.htm" onClick= "openIt(0);document.bgColor='#FFFFCC'">Suche</a></td>

<td align="center" nowrap valign="middle" onClick="this.style.backgroundColor='#D25A78'" ><a class=m href="leerrosa.htm" onClick= "openIt(1);document.bgColor='#FEF1F5'"><B><FONT FACE="Verdana, Arial">Wirtschaft </FONT></B></a><img border="0" src="arrowdn.gif" width="13" height="13">
</td>
<td align="center" nowrap valign="middle" onClick="this.style.backgroundColor='#4B96C3'" >
<a class=m href="leerblau.htm" onClick="openIt(2);document.bgColor='#F1F5FA'"><B><FONT FACE="Verdana, Arial">Psychologie</FONT></B></a> <img border="0" src="arrowdn.gif" width="13" height="13">
</td>

----------->>>> usw. bis "openIt(6)

und weiter ein Textausschnitt - die 2. Ebene der Navigation:

<!-- Menu Bar Search -->

<div id=box style=left:3%>
 <table id=iebox6 border="1" cellpadding="2" cellspacing="0">
 <tr>
 <td onMouseover="this.style.backgroundColor='green'"onMouseout="this.style.backgroundColor=''"><a class=subw href="search.htm">Durchsuchen der ganzen Web-Site</a></td>
 <td onMouseover="this.style.backgroundColor='green'"onMouseout="this.style.backgroundColor=''"><a class=subw href="sitemap.htm">Site Map</a></td>
</tr>
</table>
 </div>

<!-- Menu Bar Wirtschaft -->

<div id=box style=left:2%>
 <table id=iebox border="1" cellpadding="2" cellspacing="0">
 <tr>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href='leerrosa.htm'  onClick="subDrop(7);"> Allgemein </a><img border="0" src="arrowdn.gif" width="10"      height="10"></td>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href='leerrosa.htm'  onClick="subDrop(8)"> Geschichte </a><img border="0" src="arrowdn.gif" width="10"     height="10"></td>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href='leerrosa.htm'  onClick="subDrop(9)"> Praxis </a><img border="0" src="arrowdn.gif" width="10"           height="10"></td>
</tr>
</table>
 </div>

--------->>>>>> usw. durch die ganze 2. Ebene.
Die 3. Ebene dann so - Textausschnitt:

<!--************** Sub Menu WIRTSCHAFT ******************-->
<!--************** Sub Menu W Allgemein ******************-->

<div id=box style=left:4% >
 <table id=iebox border="1" cellpadding="2" cellspacing="0" >
 <tr>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href="seite1.htm">Seite 1</A></td>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href="seite2.htm">Seite 2</A></td>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href="seite3.htm">Seite 3</A></td>
</tr>
  </table>
 </div>

<!--****************** Sub Menu W Geschichte **************************-->

<div id=box style=left:14% >
 <table id=iebox border="1" cellpadding="2" cellspacing="0" >
 <tr>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href="seite4.htm">Seite 4</A></td>
 <td onMouseover="this.style.backgroundColor='#ec7796'"onMouseout="this.style.backgroundColor=''"><a class=subw href="seite5.htm">Seite 5</A></td>
 </tr>
 </table>
 </div>

usw.

------>>>>> Im Internet Explorer und Netscape 4.x funktioniert alles. Aber der Mozilla will nicht.
Jede Idee ist willkommen
Hoffe, dass mir jemand helfen kann - vielen Dank im Voraus!
Chacharon

  1. Hi @all!

    Sorry, aber das ist mir zuviel Text, um das alles durchzuschauen.
    Warum gibst du uns nicht einfach die Seite im Nezt, wo du das stehen hast?

    MfG, Dennis.

    --
    Was man eigentlich immer sagen will:
    SelfHTML und SelfForum sind echt spize!
    Vielen Dank an alle, die mir hier helfen.
    Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
    Meine HP: http://www.riehle-web.com
    So, das wars!
    1. Sorry, aber das ist mir zuviel Text, ......

      Aber im Quelltext ist noch vieeeeel mehr Text ;-)

      Aber wenn Du mir so helfen kannst - gerne:
      http://www.muellerscience.com/NavStart.htm

      Danke vielmals
      Chacharon

      1. Hi @all!

        Sorry, aber das ist mir zuviel Text, ......
        Aber im Quelltext ist noch vieeeeel mehr Text ;-)

        Ach du jemine...

        Aber wenn Du mir so helfen kannst - gerne:
        http://www.muellerscience.com/NavStart.htm

        So, und jetzt noch die </faq/#Q-19> lesen wie man Links macht,
        dann sieht das so aus:
        http://www.muellerscience.com/NavStart.htm

        so, und jetzt kann man sich das mal anschauen...

        MfG, Dennis.

        --
        Was man eigentlich immer sagen will:
        SelfHTML und SelfForum sind echt spize!
        Vielen Dank an alle, die mir hier helfen.
        Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
        Meine HP: http://www.riehle-web.com
        So, das wars!
        1. Ups - sorry!
          Danke Dennis!

          1. Hallo,

            dann gucken wir doch mal ob der Mozilla eine Fehlermeldung ausspuckt:
            aha, ja:
            Error: document.all has no properties
            Source File: http://www.muellerscience.com/Nav1.htm
            Line: 99

            dann schauen wir mal schnell in line:99
            aha, stimmt was mozilla sagt: er kennt das document.all objekt nicht,
            aber warum?
            weil das hier if(MS = 1) { //line 98
            der zuweisungsoperator ist und kein vergleich
            if(MS == 1) {
                  ^^     so muss es heissen.

            http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#zuweisung
            http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#vergleich

            gruss

            --
            no strict;
            no warnings;
            Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
            1. Hallo Eternius,

              Vielen Dank für Deine Antwort.
              Habe es eben ausprobiert, doch es geht immer noch nicht.
              Auch bei

              if(MS == 1) {

              macht der Mozilla 1.6 gar nix.

              Wo könnte denn der Hund noch begraben sein....
              *verzweifelt die haare rauf*

              chacharon

              1. Hallo,

                nix zu danken,
                hast du auch die anderen Vorkommen des Operators geändert,
                soweit ich keinen übersehen habe, kommt 6 mal der falsche Operator vor in dem Skript

                gruss

                --
                no strict;
                no warnings;
                Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
                1. Ja - habe ich.

                  So sieht es jetzt aus:

                  if(MS == 1) {
                        document.all("box")[i].style.visibility = "hidden";
                        document.all("box")[x].style.visibility = "visible";
                        document.all("box")[x].style.top = "31";
                         }
                  else if(DOM == 1) {
                   document.getElementById("box")[i].style.visibility = "hidden";
                        document.getElementById("box")[x].style.visibility = "visible";
                        document.getElementById("box")[x].style.top = "31";
                         }
                  else if(NS == 1) {
                        document.layers[i].visibility = "hide";
                        document.layers[x].visibility = "show";
                        document.layers[x].top="32";
                         }
                      }
                  }

                  function subDrop(y) {
                       var items = 45
                       for (i=7; i<items; i++) {
                    if(MS == 1){
                        document.all("box")[i].style.visibility = "hidden";
                        document.all("box")[y].style.top = "54";
                        document.all("box")[y].style.visibility = "visible";
                         }
                    else if(DOM == 1){
                        document.getElementById("box")[i].style.visibility = "hidden";
                        document.getElementById("box")[y].style.top = "54";
                        document.getElementById("box")[y].style.visibility = "visible";
                         }
                    else if(NS == 1){
                        document.layers[i].visibility = "hide";
                        document.layers[y].top = "54";
                        document.layers[y].visibility = "show";
                          }
                      }
                  }

                  Jetzt gibt es eine neue Fehlermeldung in der Javascript-Konsole vom Mozilla:
                  Fehler: document.getElementById("box")[i] has no properties
                  Zeile: 104

                  hmmmmm....

                  chacharon

                  1. Hi @all!

                    Fehler: document.getElementById("box")[i] has no properties
                    Zeile: 104

                    Du brauchst uns auch jetzt nicht den ganzen Code schicken, lediglich die Zeile 104 und eventuell folgende ist interessant. Ich höre? bzw. lese?

                    MfG, Dennis.

                    --
                    Was man eigentlich immer sagen will:
                    SelfHTML und SelfForum sind echt spize!
                    Vielen Dank an alle, die mir hier helfen.
                    Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
                    Meine HP: http://www.riehle-web.com
                    So, das wars!
                    1. OK!

                      Die Zeile 104 und die folgende lautet:

                      document.getElementById("box")[i].style.visibility = "hidden";
                      document.getElementById("box")[x].style.visibility = "visible";

                      Danke für Eure superschnelle Hilfe hier :)

                      chacharon

                      1. Hi @all!

                        Die Zeile 104 und die folgende lautet:
                        document.getElementById("box")[i].style.visibility = "hidden";
                        document.getElementById("box")[x].style.visibility = "visible";

                        Aha, das wäre innerhalb der DOM Abfrage?
                        Übrigends, statt if(DOM==1) kann man auch schreiben:
                        if(DOM), das ist wieder etwas kürzer.

                        und was ist jetzt das Element Box?

                        Danke für Eure superschnelle Hilfe hier :)

                        Bitte, endlich mal jemand, der zufrieden ist.

                        MfG, Dennis.

                        --
                        Was man eigentlich immer sagen will:
                        SelfHTML und SelfForum sind echt spize!
                        Vielen Dank an alle, die mir hier helfen.
                        Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
                        Meine HP: http://www.riehle-web.com
                        So, das wars!
                        1. "box" sind die Navigationspunkte im Body, z.B.

                          <!-- Menu Bar -->

                          <div id=box style=left:3%>
                           <table border="1" cellpadding="2" cellspacing="0">
                           <tr>
                           <td>Link1<td>
                          </tr>
                          </table>
                           </div>

                          chacharon

                          1. Hallo?

                            Hat jemand noch eine Idee?

                            chacharon

                            1. Hallo chacharon,

                              Hat jemand noch eine Idee?

                              du liest schon die Beiträge weiter oben im Threadbaum, oder? (->[pref:t=80362&m=466527])

                              Grüße aus Nürnberg
                              Tobias

                              --
                              Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                              1. Ja Tobias, habe ich gesehen, aber ich schnall's einfach nicht.
                                "box" ist doch definiert und wird hochgezählt...

                                Zudem versuche ich gerade bei http://validator.w3.org/ durchzublicken ...

                                Würde denn Dein Votum bedeuten, dass es keine Chance gibt, so wie das Script jetzt angelegt ist?

                                chacharon

                                1. Hallo chacharon

                                  Ja Tobias, habe ich gesehen, aber ich schnall's einfach nicht.
                                  "box" ist doch definiert und wird hochgezählt...

                                  Wie oft ist "box" definiert?
                                  Eine ID _muss_ dokumentweit _eindeutig_ sein!
                                  Wie oft steht im Quelltext id="box"?

                                  Wenn es nur ein Element mit der ID "box" geben darf, wie kann es dann
                                  sinnvoll sein "box" hochzuzählen?

                                  MFG
                                  Detlef

                                  --
                                  - Wissen ist gut
                                  - Können ist besser
                                  - aber das Beste und Interessanteste ist der Weg dahin!
                                  1. Hallo Detlef,

                                    Insgesamt 45 mal *lol*.
                                    Aber was kann ich denn nun konkret machen?
                                    Alles umschreiben?
                                    Die "box" durchnummerieren?
                                    Den Befehl 45 mal setzen, etwa so?
                                    document.getElementById("box1").style.visibility = "hidden";
                                    document.getElementById("box1").style.visibility = "visible";
                                    document.getElementById("box2").style.visibility = "hidden";
                                    document.getElementById("box2").style.visibility = "visible";

                                    chacharon

                                    1. Hallo chacharon,

                                      Die "box" durchnummerieren?
                                      Den Befehl 45 mal setzen, etwa so?

                                      eine for-Schleife dürfte es tun:
                                        for(var i = 1;i<=45;i++){
                                          document.getElementById('box'+i).style.visibility = 'hidden';
                                        }

                                      Grüße aus Nürnberg
                                      Tobias

                                      --
                                      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                      1. Vielen Dank Tobias!
                                        Das ist doch mal ein Ansatz ;-)

                                        Werde das ausprobieren - aber zuerst mach ich jetzt mal Pause!

                                        Danke!

                                        chacharon

                                      2. Guten Morgen!

                                        Geht so ein Tread auch am nächsten Tag weiter?

                                        Ich habe jetzt den Vorschlag von Tobias ausprobiert:

                                        eine for-Schleife dürfte es tun:
                                          for(var i = 1;i<=45;i++){
                                            document.getElementById('box'+i).style.visibility = 'hidden';
                                          }

                                        Leider tut sich bei Mozilla immer noch nichts.
                                        Es kommt die gleiche Fehlermeldung wie oben!

                                        Es ist zum Verzweifeln.
                                        chacharon

                                        1. Hallo chacharon,

                                          Geht so ein Tread auch am nächsten Tag weiter?

                                          klar :-)

                                          Ich habe jetzt den Vorschlag von Tobias ausprobiert:
                                          [...]
                                          Es kommt die gleiche Fehlermeldung wie oben!

                                          wo oben? hast du auch alle Funktionen die getElementById(...)[i] verwenden umgeschrieben?

                                          Grüße aus Nürnberg
                                          Tobias

                                          --
                                          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                          1. Hallo Tobias,

                                            So sieht's jetzt aus:

                                            function openIt(x) {
                                            if(MS == 1) {
                                                 var items = 44
                                                 for (i=0; i<=items; i++) {
                                                  document.all("box")[i].style.visibility = "hidden";
                                                  document.all("box")[x].style.visibility = "visible";
                                                  document.all("box")[x].style.top = "31";
                                               }
                                            }
                                            else if(DOM == 1) {
                                                 for(var i=1;i<=44;i++){
                                                  document.getElementById('box'+i).style.visibility = 'hidden'; // Dies ist Zeile 107
                                                  document.getElementById('box'+x).style.visibility = 'visible';
                                                  document.getElementById('box'+x).style.top = "31";
                                              }
                                            }
                                            else if(NS == 1) {
                                                var items = 44
                                                for (i=0; i<=items; i++) {
                                                  document.layers[i].visibility = "hide";
                                                  document.layers[x].visibility = "show";
                                                  document.layers[x].top="32";
                                                   }
                                                }
                                            }

                                            Im IE und NS geht's - bei Mozilla immer noch den Fehler
                                            document.getElementById("box" + i) has no properties
                                            Zeile: 107

                                            1. Hallo!

                                              Habe es so probiert:

                                              else if(DOM == 1) {
                                                 for(var i=0;i<=44;i++){
                                               temp="box" + i;
                                                  document.getElementById('temp').style.visibility = 'hidden';
                                                    document.getElementById('temp')[x].style.visibility = 'visible';
                                                    document.getElementById('temp')[x].style.top = "31";
                                                }
                                              }

                                              Nach meiner Logik müsste das gehen...
                                              Tut's aber nicht :(

                                              chacharon

                                              1. Mensch Leute, ich bin einen Millimeter weiter!

                                                Alle ID's umbenannt auf "temp" und folgender code:

                                                else if(DOM == 1) {
                                                   for(var i=0;i<=44;i++){
                                                 temp="box+[i]" ;
                                                    document.getElementById('temp').style.visibility = 'hidden'; //Zeile 107
                                                      document.getElementById('temp')[x].style.visibility = 'visible'; //Zeile108
                                                      document.getElementById('temp')[x].style.top = "31";
                                                  }
                                                }

                                                Der Fehler kommt jetzt nicht mehr auf Zeile 107 sondern auf 108.

                                                Das [x] kommt von der Fuktion:

                                                function openIt(x) { //usw.

                                                und wird innerhalb der Tables aufgerufen:

                                                <td align="center" nowrap valign="middle" onClick="this.style.backgroundColor='#D25A78'" ><a class=m href="leerrosa.htm" onClick= "openIt(1) ;document.bgColor='#FEF1F5'"><B><FONT FACE="Verdana, Arial">Wirtschaft </FONT></B></a><img border="0" src="arrowdn.gif" width="13" height="13">
                                                </td>

                                                Bitte bitte - und wie jetzt weiter???

                                                chacharon

                                                1. Hallo chacharon,

                                                  for(var i=0;i<=44;i++){
                                                   temp="box+[i]" ;

                                                  ein Element bei dem das id-Attribut diesen Wert hat, wird es wohl nicht geben.

                                                  Der Fehler kommt jetzt nicht mehr auf Zeile 107 sondern auf 108.

                                                  logisch - getElementById('temp') liefert _kein_ Array zurück, weil die Ids eindeutig sein _müssen_.

                                                  Ich wollte mir das ganze mal live anschauen, aber du hast die Änderungen noch nicht hochgeladen ...

                                                  Grüße aus Nürnberg
                                                  Tobias

                                                  --
                                                  Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                                  1. Hallo Tobias,

                                                    Danke für Deine Rückmeldung.

                                                    Habe eben das htm geuppt.

                                                    Bin wieder etwas weiter.
                                                    Habe jetzt im Javascript-Editor keine Fehler mehr,
                                                    aber es läuft noch nicht richtig.

                                                    Habe das [x] verschoben.
                                                    Statt:

                                                    else if(DOM == 1) {
                                                    for(var i=0;i<=44;i++){
                                                    temp="box+[i]" ;
                                                    document.getElementById('temp').style.visibility = 'hidden';
                                                    document.getElementById('temp')[x].style.visibility = 'visible';
                                                    document.getElementById('temp')[x].style.top = "31";
                                                    }
                                                    }

                                                    heisst es jetzt:

                                                    else if(DOM == 1) {
                                                    for(var i=0;i<=44;i++){
                                                    temp="box+[i]"+[x] ;
                                                    document.getElementById('temp').style.visibility = 'hidden';
                                                    document.getElementById('temp').style.visibility = 'visible';
                                                    document.getElementById('temp').style.top = "31";
                                                    }
                                                    }

                                                    Nun bringt Mozilla die erste Ebene, das heisst der Aufruf onClick= "openIt(0) läuft

                                                    Wie bringe ich ihn dazu, auch
                                                    onClick= "openIt(1), onClick= "openIt(2) usw. zu befolgen?

                                                    *wirklich-die-haare-rauff*
                                                    chacharon

                                                    1. Hallo chacharon,

                                                      for(var i=0;i<=44;i++){
                                                      temp="box+[i]"+[x] ;

                                                      lass dir mal temp ausgeben - das steht genau 'box+[i]2' drin (wenn x=2 ist). Du möchtest wohl eher:
                                                       temp = 'box'+i+x; o.ä.
                                                      Genau kann ich dir das aber auch nicht sagen, da du immernoch Tonnenweise IDs mehrfach verwendet hast, und ich auch nicht verstehe, wie das Menü funktionieren soll (und ich ehrlichgesagt auch keine Lust (und Zeit) habe mich durch 1000 Zeilen Code zu wühlen).

                                                      document.getElementById('temp').style.visibility = 'hidden';

                                                      das kann nicht funktionieren, da du mehrere Elemente mit id="temp" hast.

                                                      Grüße aus Nürnberg
                                                      Tobias

                                                      --
                                                      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                                      1. Hallo Tobias,

                                                        Dass Du Dir die Zeit (und Lust) nicht nehmen willst, den ganzen code durchzugehen, verstehe ich ja.
                                                        Nur - dann sind die Antworten in diesem Forum wirklich ein Zufallstreffer, wenn sie funktionieren.
                                                        Kann man nichts machen!

                                                        Ich versuche seit zwei Tagen das Script hinzubekommen - und ich bin nachwievor überzeugt, dass es eine Lösung gibt.

                                                        Die Hilfe hier hat mich - sorry - keinen Deut weitergebracht.
                                                        Auch Deine Hilfe nicht. Sie ist (war) keine.

                                                        Kannst Dir ja vielleicht vorstellen, dass ich noch in einem weiteren Forum nach der Lösung suche. Dass es jetzt keine Fehlermeldung im vorherigen Script auf Zeile 107 gibt, war (ist) nicht Dein Verdienst.

                                                        Aber was kümmert Dich das - Du kannst (willst) ja den code nicht studieren.

                                                        Du warst der Einzige hier, der den Tread weitergezogen hat.
                                                        Dafür danke ich Dir.
                                                        Aber ich frage mich schon, was ein Forum soll, wo keiner sich WIRKLICH mit einem Thema beschäftigen will.

                                                        Na dann - TREAD CLOSED!

                                                        chacharon

                                                        1. Hallo chacharon,

                                                          [Name:] Scheiss Forum hier

                                                          jetzt wollen wir mal nicht ausfallend werden, gelle :-)

                                                          Die Hilfe hier hat mich - sorry - keinen Deut weitergebracht.

                                                          ich habe dir schon mindestens dreimal geschrieben, dass du _verschiedene_ IDs verwenden _musst_. Mit den gleichen IDs die du drinhast, hat es überhaupt keinen Sinn weiterzuprobieren - aber wenn du das nicht machst ...

                                                          Du warst der Einzige hier, der den Tread weitergezogen hat.
                                                          Dafür danke ich Dir.

                                                          bitte.

                                                          Aber ich frage mich schon, was ein Forum soll, wo keiner sich WIRKLICH mit einem Thema beschäftigen will.

                                                          Ich vermute mal, dass einige dadurch, dass die Seite sehr viel Code enthält, abgeschreckt wurden, sich mit dem Problem zu befassen - vielleicht reduzierst du den Code mal auf das wesentliche (z.B. statt <div><table>...</table></div> einfach nur ein einfaches <div id="...">links1</div> o.ä. und auch weniger Menüpunkte) und probierst es in ein paar Tagen (vielleicht nicht gerade an einem Sonntag) nochmal. Evtl. findest du die Lösung durch das Vereinfachen des Codes ja sogar selbst (soll durchaus schon vorgekommen sein :-))?

                                                          Grüße aus Nürnberg
                                                          Tobias

                                                          --
                                                          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                                          1. Hallo Tobias

                                                            ich habe dir schon mindestens dreimal geschrieben, dass du _verschiedene_ IDs verwenden _musst_.

                                                            Nicht nur du.

                                                            Ich vermute mal, dass einige dadurch, dass die Seite sehr viel Code enthält, abgeschreckt wurden, ...

                                                            Vielleicht aber auch durch seine Hartnäckigkeit, den Ursprung seiner Probleme
                                                            nicht zu beseitigen, obwohl ihm dieser mehrmals genannt wurde.

                                                            MFG
                                                            Detlef

                                                            --
                                                            - Wissen ist gut
                                                            - Können ist besser
                                                            - aber das Beste und Interessanteste ist der Weg dahin!
                                                            1. Lieber Detelf,

                                                              Die Antwort nach Deinem Tread war:
                                                              eine for-Schleife dürfte es tun

                                                              Wenn Ihr mir vorwerft, ich solle mich kürzer fassen, und bitte nicht sonntags posten, dann bitte ich Euch: teilt Euch bitte deutlicher mit, damit ich es verstehe z.b. mit snippes oder so.

                                                              Und was heisst - ich wollte Euren Anweisungen nicht folgen....
                                                              Ich hatte gefragt, ob ich denn alles durchnummerieren muss.
                                                              Die Antwort war: eine for-Schleife dürfte es tun.

                                                              Ja dann - happy new year!

                                                              Sorry - was soll das alles?

                                                              chacharon - *völlig genervt*

                                                              1. Hallo chacharon

                                                                Wenn Ihr mir vorwerft, ...

                                                                Das war bestimmt nicht als Vorwurf zu verstehen, sondern eher als Erklärung,
                                                                warum so wenige Antworten kamen.

                                                                Und was heisst - ich wollte Euren Anweisungen nicht folgen....
                                                                Ich hatte gefragt, ob ich denn alles durchnummerieren muss.
                                                                Die Antwort war: eine for-Schleife dürfte es tun.

                                                                bezog sich auf "Den Befehl 45 mal setzen, etwa so?"

                                                                Sorry - was soll das alles?

                                                                Das waren die Antworten auf dein "Scheiss Forum hier".

                                                                chacharon - *völlig genervt*

                                                                Das solltest du vermeiden, lieber versuchen ganz ruhig an die Sache
                                                                heranzugehen.

                                                                Nach meiner Antwort, sah ich, dass Tobias dir richtige und zielführende
                                                                Antworten gab. Ich fand aber eine ganze Zeit keine Änderungen in deinem
                                                                Seitenquelltext. Damit ließ sich kaum wirklich nachvollziehen, was du nun
                                                                wirklich geändert hast.

                                                                Mein 1. Vorschlag, damit du nicht so genervt sein musst und schnell ein in
                                                                allen Browsern funktionierendes Ergebnis hast.
                                                                Nimm deine Nav1 auseinander. Mach es ersteinmal _ohne_ Javascript.

                                                                z.B.:

                                                                • Nav1   - nur die Hauptnavigation mit link auf Nav1_1, Nav1_2, Nav1_3 ...
                                                                • Nav1_1 - Selbe Seite mit Unternavigation für Wirtschaft
                                                                • Nav1_2 - dito mit Untermenü für Psychologie
                                                                  usw.
                                                                  Du lädst also ganz normal die jeweils angeklickte Navigation.

                                                                Damit hast du ersteinmal eine Version, die in allen Browsern, auch ohne
                                                                Javascript funktioniert.

                                                                Mein 2. Vorschlag, mach dir ersteinmal wirklich klar, was id="..." und was
                                                                class="..." bedeutet.

                                                                Kurz:

                                                                Eine class kann mehrmals im Dokument verwendet werden. Alle Elemente, die
                                                                die selbe Formatierung haben sollen erhalten z.B. selbe class="rot". Mit
                                                                .rot { background-color: #ff000; } im CSS gibst du allen allen Elementen
                                                                dieser Klasse genau diese Eigenschaften.

                                                                Eine id darf nur _einmal_ im gesamten Dokument vorkommen. Du verwendest
                                                                eine ID für genau _ein_ Element, kannst genau diesem _einen_ Element
                                                                Eigenschaften zuweisen z.B. id="iebox" und im CSS #iebox
                                                                background-color:#D25A78 }.
                                                                Außerdem kannst du genau dieses Element im Javascript mittels
                                                                document.getElementById('iebox')... ansprechen.

                                                                Erstmal Schluss, ich muss los, bin frühestens gegen 16:30 Uhr wieder am
                                                                Rechner.

                                                                MFG
                                                                Detlef

                                                                --
                                                                - Wissen ist gut
                                                                - Können ist besser
                                                                - aber das Beste und Interessanteste ist der Weg dahin!
                                                              2. Hallo chacharon,

                                                                Wenn Ihr mir vorwerft, ich solle mich kürzer fassen,

                                                                du musst dich nicht kürzer fassen, sondern lediglich aufs wesentliche reduzieren :-)

                                                                und bitte nicht sonntags posten,

                                                                natürlich darfst du Sonntags posten - aber Sonntags sind hier halt weniger Leute, und damit auch weniger potentielle Antworter.

                                                                Grüße aus Nürnberg
                                                                Tobias

                                                                --
                                                                Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                                              3. Hi @all!

                                                                Und was heisst - ich wollte Euren Anweisungen nicht folgen....
                                                                Ich hatte gefragt, ob ich denn alles durchnummerieren muss.
                                                                Die Antwort war: eine for-Schleife dürfte es tun.

                                                                Jetzt schau mal her: gib mir noch mal die Seite im Internet, wo du
                                                                das hochgeladen hat, mit dem neuesten Stand des Scriptes, ja?
                                                                Dann seheh wir weiter.

                                                                MfG, Dennis.

                                                                --
                                                                Hinweise:
                                                                Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
                                                                Meine HP: http://www.riehle-web.com
                                                          2. Hallo Tobias,

                                                            [Name:] Scheiss Forum hier
                                                            jetzt wollen wir mal nicht ausfallend werden, gelle :-)

                                                            Jaja - schon gut - aber meine Nerven liegen langsam blank.

                                                            ich habe dir schon mindestens dreimal geschrieben, dass du _verschiedene_ IDs verwenden _musst_. Mit den gleichen IDs die du drinhast, hat es überhaupt keinen Sinn weiterzuprobieren - aber wenn du das nicht machst ...

                                                            Ich hatte mal gefragt, ob ich jetzt alles durchnummerieren soll = eindeutige ID's.
                                                            Die Antwort war: eine for-Schleife müsste wohl reichen .
                                                            Die for- Schleife steht. Und fuktioniert.

                                                            Aber jetzt geht es um die "funktion" - ganauer "function openIt(x)"

                                                            Du warst der Einzige hier, der den Tread weitergezogen hat.
                                                            Dafür danke ich Dir.
                                                            bitte.

                                                            Danke Dir nochmals! Von ganzem Herzen!

                                                            Ich vermute mal, dass einige dadurch, dass die Seite sehr viel Code enthält, abgeschreckt wurden, sich mit dem Problem zu befassen - vielleicht reduzierst du den Code mal auf das wesentliche (z.B. statt <div><table>...</table></div> einfach nur ein einfaches <div id="...">links1</div> o.ä. und auch weniger Menüpunkte) und probierst es in ein paar Tagen (vielleicht nicht gerade an einem Sonntag) nochmal. Evtl. findest du die Lösung durch das Vereinfachen des Codes ja sogar selbst (soll durchaus schon vorgekommen sein :-))?

                                                            1. das war doch der kürzeste Input
                                                            2. gerne würde ich es annehmen, den code selber zu finden ---- HER MIT ;-) nach zwei Tagen wäre es doch fällig und gerecht --- oder?
                                                            3. Soll ich in ein paar Tagen (falls die Lösung noch nicht da ist) einen neuen Tread eröffnen - oder hier weitermachen ?

                                                            AKTUELL**** trotzallem habe ich noch keine Lösung, welche jetzt das Problem "function openIt(x)" löst!

                                                            chacharon

                                                            1. Hallo chacharon,

                                                              Ich hatte mal gefragt, ob ich jetzt alles durchnummerieren soll = eindeutige ID's.
                                                              Die Antwort war: eine for-Schleife müsste wohl reichen .
                                                              Die for- Schleife steht. Und fuktioniert.

                                                              das war ein Missverständnis - ich bezog mich auf "Den Befehl 45 mal setzen, etwa so?" - und das lässt sich mit einer for-Schleife besser lösen.

                                                              1. das war doch der kürzeste Input

                                                              nein, um einen Fehler zu finden, sollte man den Code auf das wesentliche reduzieren, d.h. alles was nichts mit dem Problem zu tun hat rauswerfen (auch überflüssige Attribute).

                                                              1. Soll ich in ein paar Tagen (falls die Lösung noch nicht da ist) einen neuen Tread eröffnen - oder hier weitermachen ?

                                                              wenn der Thread noch da ist (wenn hier ein paar Tage keiner geantwortet hat, landet der hier sowieso im Archiv), in dem Thread und wenn nicht einen neuen aufmachen (und auf den hier verweisen).

                                                              Grüße aus Nürnberg
                                                              Tobias

                                                              --
                                                              Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                                                      2. Und apropos:

                                                        Du möchtest wohl eher:

                                                        temp = 'box'+i+x; o.ä.

                                                        Ja genau - so kommt kein Fehlercode mehr - aber funktionieren tut's auch nicht ... zeigt erste Ebene an - that' it.
                                                        chacharon

                            2. Hallo

                              document.getElementById(...) gibt ja auch nur genau ein Element zurück, da der Wert eines id-Attributes im gesamten Dokument eindeutig sein muss

                              aus:
                              [pref:t=80362&m=466527]

                              gruss

                              --
                              no strict;
                              no warnings;
                              Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
                  2. Hallo chacharon,

                    if(MS == 1) {
                          document.all("box")[i].style.visibility = "hidden";

                    warum eigentlich nicht
                      if(document.all & !window.opera)...
                    ?

                    else if(DOM == 1) {
                     document.getElementById("box")[i].style.visibility = "hidden";

                    warum nicht
                     else if(document.getElementById)...
                    ?

                    else if(NS == 1) {
                          document.layers[i].visibility = "hide";

                    warum nicht
                      else if(document.layers)...
                    ?

                    Fehler: document.getElementById("box")[i] has no properties

                    klar, document.getElementById(...) gibt ja auch nur genau ein Element zurück, da der Wert eines id-Attributes im gesamten Dokument eindeutig sein muss (was dir http://validator.w3.org/ allerdings auch gesagt hätte).

                    Grüße aus Nürnberg
                    Tobias

                    --
                    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo @ all

    Habe ich was falsch gemacht, dass mir niemand mehr antwortet?

    chacharon

    1. Hallo chacharon,

      Habe ich was falsch gemacht, dass mir niemand mehr antwortet?

      nur die Ruhe - ich war halt ab 11.30 Uhr in einer Vorlesung gesessen :-)

      Grüße aus Nürnberg
      Tobias [der gleich wieder weg muss]

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|