vertikales Aufklapp-Menue a.active funktioniert nicht

tinchern06

Mitglied
Hallo,

ich habe fogendes Problem, welches ich mit meinen wenigen Kenntnissen nicht in Griff bekomme

das Pseudo-Aufklapp-Menue funktioniert (war schon so vorhanden) so:

-wenn eine Seite ein Untermenue besitzt, wird diese bei a:hover angezeigt
-heißt jede Seite hat eine eigene Menuestruktur
- die Untermenues rufen keine neue Seite auf, sondern blenden ein div ein oder aus per Klick, mittels Javscript (toggle)

HTML:
 <div id="navigation">
  <ul>
    <li><a  href="javascript:toggle(1,'sie_',[1,4])" title="Home"  >Punkt1</a><ul>
    <li> <a href="javascript:toggle(2,'sie_',[1,4])" title="Punkt1.1"> Punkt1.1</a></ul>
      <ul> <li> <a href="javascript:toggle(3,'sie_',[1,4])" title="Punkt1.2"> Punkt1.2</a></ul>
      <ul> <li> <a href="javascript:toggle(4,'sie_',[1,4])" title="Punkt1.3"> Punkt1.3</a></ul> </li>
    <li><a href="Seite2.html"> Seite2 </a></li>
    <li><a href="Seite3.html"> Seite3 </a></li>
    <li><a href="Seite4.html"> Seite4</a></li>
      </ul>
</div>

Code:
#navigation {
    padding: 10px 20px;

}

#navigation ul, #navigation ul ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* Navigation Ebene 1 */

#navigation ul li {
    width: 150px;
 /* float:left; versteckt ebebe 2 */
}

#navigation ul li a {
    text-decoration: none;
    line-height: 1.9em;
    font-weight:300;
    font-size: middle;
    color:white;
 /*font-weight:bold alle bold setzen*/
}


#navigation ul a:hover {
    text-decoration: none;
    line-height: 1.9em;
    font-weight:300;
    font-size: middle;
    color:blue;
    font-weight:bold;
}


.navigation_active {
    text-decoration: none;
    line-height: 1.9em;
    font-weight:300;
    font-size: middle;
    color:blue;
    font-weight:bold;
}

#navigation ul a:active {
    text-decoration: none;
    line-height: 1.9em;
    font-weight:300;
    font-size: middle;
    color:blue;
    font-weight:bold;
}

#navigation ul li ul {
  margin-left:20px;
}

#navigation ul li:hover ul {
    display: block;
    margin-left:20px;
    color:blue;


}
#navigation ul a:active ul {
    text-decoration: none;
    line-height: 1.9em;
    font-weight:300;
    font-size: middle;
    color:blue;
    font-weight:bold;
}

- die angeklickte Ebene soll jetzt auch blau gekennzeichnet werden, wenn ich die Seite betrete, damit der Nutzer weiß wo er sich befindet (so wie bei hover) , das passiert werder bei der oberen noch bei der unteren Ebene

Noch eine andere Frage, wie sage ich im Link der Seite das sie ein besimmtes Div öffnen soll (jedes div hat eine eindeutige id)?
Leider habe ich keine Möglichkeit php zu verwenden, also muß die div angabe schon im link mit übergeben werden****?

Ich hoffe ihr habt eine Lösung für mich.....
Vielleicht gibt es ja auch ein anderes Script, welches dynamisch ist und nicht in jeder Seite anders (ohne javascript und php)

Gruß Tinchern
 
Zuletzt bearbeitet:
- die angeklickte Ebene soll jetzt auch blau gekennzeichnet werden
Würde ich einmalig beim Reingehen in die Seite mit "active" (#navigation ul a:active") setzen und dann eben toggeln, wie es offenbar im JS-Code gemacht werden soll.

Bei mir werden übrigens immer alle Werte untereinander angezeigt und fett, wenn man drüber ist.

wie sage ich im Link der Seite das sie ein besimmtes Div öffnen soll
Würde ich mit display:none/display:block (oder item oder was gefragt ist) machen.
Also: für alle, die nicht das aktuelle Item sind, eine Class "deaktiv" setzen und die aktuelle auf "aktiv". Die Styles hast du ja offenbar bereits.

Nachfolgende mal ein Beispiel, wobei "a" ist in dem Fall das Array mit den relevaten Elementen ist:

Code:
function activeTab(t) {
    document.getElementById(a[t]).style.display="block";
    as[t].className="active";
    for (var i=0;i<a.length;i++) {
      if (i!=t) {
        document.getElementById(a[i]).style.display="none";
        as[i].className="inactive";
      } 
    }
  }
 
Hallo, vielen Dank für die Antwort.

ja genau das habe ich ja versucht, die class= ".navigation_active " aus dem oberen Quelltext, in der jeweiligen Seite bei < a href... als class fest integriert. Aber leider reagiert der Browser nicht darauf.

Deshalb dachte ich mir ich unterliege hier einen krassen Denkfehler, weil man sich ja mal schnell in eine Sache verrennt und den Wald vor Bäumen nicht sieht. Vielleicht ist ja an der Klasse was falsch oder sie wird ignoriert, da ich ja im < a href ein script verwende****? mein link sah dann so aus:

<a href="javascript:toggle(1,'sie_',[1,4])" title="Home" class="navigation_active ">Punkt1</a>

Das mit dem Link und Div öffnen, habe ich glaube ich falsch ausgedrückt.
Auf der Seite selbst kann ich per javascript (eben dieses toggle), das div problemlos öffnen und schliessen.
Mir ging es eher darum: wenn ich eine einheitliche Navigation in allen seiten mache wie übergebe ich dann (als anhang an "www.meinedomain.de/seite1") die id des zu öffnenten divs.

Ich hoffe ihr könnt mir helfen oder einfach ein gängiges Menue nur mit css empfehlen...
 
Hai,

ich habe offen gesagt etwas Schwierigkeiten, dir zu folgen. Mein Gefühl sagt mir, dass es etwas Simples sein könnte, aber irgendwie packe ich es nicht so richtig.

Auf der Seite selbst kann ich per javascript (eben dieses toggle), das div problemlos öffnen und schliessen. Mir ging es eher darum: wenn ich eine einheitliche Navigation in allen seiten mache wie übergebe ich dann (als anhang an "www.meinedomain.de/seite1") die id des zu öffnenten divs.

Reden wir hier über eine Domain oder unterschiedliche? Du könntest Parameter beim Aufruf der Seite mit übergeben "www.meinedomain.de/seite1?var1=a&var2=b...." und die dann auswerten oder auch mit Cookies arbeiten oder auch solche Daten via Javascript einlesen (JSON)...
Meistens hilft es bei Problemen, jeden Schritt zu checken. Vielleicht macht das System irgendetwas anders als du annimmst.

Vielleicht findest du auch hier etwas Passendes.

Grüße
Idi
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

ja das mit den Variablen ist gut. (eine Domain ist richtig) Da bräuchte ich dann mal noch ein script, wie ich das dann auslese (meine javascript Kenntnisse sind leider absolut schlecht)....

Aber das alles brauche ich nur, wenn ich das mit dem Menue (einheitlich für alle Seiten) hinbekomme.

Dazu habe ich leider noch immer keine weiteren Erkenntnisse, obwohl das Thema ja einige interessiert, wie man an den Hits feststellen kann.

Jetzt erst mal ins Bett und vielleicht kommt ja morgen jemand ein Geistesblitz:eek:

Gruß Tinchern
 
Zuletzt bearbeitet:
Zurück