3Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
770
770
EMPFEHLEN
-
Hey Leute

ich habe ein Problem bei der Programmierung meines DropDown Menus.
Ich habe (zusammen mit einem Freund) ein horizontales DropDown Menu programmiert, bei dem die Unterpunkte nach unten heraus droppen, sobald man mit der Maus über die horizontal angeordneten Überpunkte fährt.
Die Überpunkte haben ein Hintergrundbild (alle das selbe) und die Unterpunkte haben lediglich eine Hintergrundfarbe.
Der Aufbau des Menus befindet sich mit im Index und den CSS - Code binde ich einfach im Index ein.
Mein Problem dabei:
Sobald man einen der Links (egal ob Über- oder Unterpunkt) angeklickt hat, ist dessen Design verschwunden.
Hier der Aufbau meines Menus (im index.php):
Das hier ist nicht die gesamte Tabelle, also wundert euch nicht, da es z.B. keinen öffnenden / schließenden table-tag gibt.HTML-Code:<td colspan="3"> <div class="nav"> <ul> <li><?php if($site!="home"){echo"<a href=".$_SERVER['PHP_SELF']."?site=home>Home</a>";}else{echo"Home";}?></li> </ul> </div> </td> <td> <div class="nav"> <ul> <li><?php if($site!="news"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=news>Main</a>"; }else{ echo"Main";}?> <ul> <li><?php if($site!="news"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=news>News</a>"; }else{ echo"News";}?></li> <li><?php if($site!="joinus"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=joinus>Bewerbung</a>"; }else{ echo"Bewerbung";}?></li> <li><?php if($site!="support"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=support>Support</a>"; }else{ echo"Support";}?></li> <li><?php if($site!="kontakt"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=kontakt>Kontakt</a>"; }else{ echo"Kontakt";}?></li> <li><?php if($site!="impressum"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=impressum>Impressum</a>"; }else{ echo"Impressum";}?></li> </ul> </li> </ul> </div> </td> <td colspan="3"> <div class="nav"> <ul> <li><?php if($site!="projektleitung"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=projektleitung>Team</a>"; }else{ echo"Team";}?> <ul> <li><?php if($site!="projektleitung"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=projektleitung>Projektleitung</a>"; }else{ echo"Projektleitung";}?></li> <li><?php if($site!="dj"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=dj>Resident DJ's</a>"; }else{ echo"Resident DJ's";}?></li> <li><?php if($site!="webmaster"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=webmaster>Webmaster</a>"; }else{ echo"Webmaster";}?></li> <li><?php if($site!="grafikteam"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=grafikteam>Grafikteam</a>"; }else{ echo"Grafikteam";}?></li> </ul> </li> </ul> </div> </td> <td colspan="3"> <div class="nav"> <ul> <li><?php if($site!="sendeplan"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=sendeplan>Community</a>"; }else{ echo"Community";}?> <ul> <li><?php if($site!="sendeplan"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=sendeplan>Sendeplan</a>"; }else{ echo"Sendeplan";}?></li> <li><?php if($site!="tracklist"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=tracklist>Tracklist</a>"; }else{ echo"Tracklist";}?></li> <li><?php if($site!="streambox"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=streambox>Streambox</a>"; }else{ echo"Streambox";}?></li> <li><?php if($site!="history"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=history>History</a>"; }else{ echo"History";}?></li> <li><?php if($site!="gbook"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=gbook>Gästebuch</a>"; }else{ echo"Gästebuch";}?></li> <li><?php if($site!="bookus"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=bookus>Book us</a>"; }else{ echo"Book us";}?></li> </ul> </li> </ul> </div> </td> <td> <div class="nav"> <ul> <li><?php if($site!="hbox"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=hbox>HouseBox</a>"; }else{ echo"HouseBox";}?></li> </ul> </div> </td>
Hier mein bisheriger CSS-Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
<style type="text/css"> .nav { font-size:0.85em; font-family: Arial; padding-bottom:200px; } .nav ul { padding:0; margin:0; list-style-type:none; } .nav li { float:left; width:142px; position:relative; } .nav ul li a, .nav ul li a:visited{ display:block; font-size:20px; font-family: Arial; text-decoration:none; color:#FFFFFF; width:142px; height:38px; border:1px solid #FFFFFF; border-width:1px 0 0 0; background-image:url(images/button.jpg); text-align:center; line-height:38px; } .nav ul ul { visibility:hidden; position:absolute; height:0; top:39px; left:0; width:142px; } .nav ul ul li a, .nav ul ul li a:visited { background:#1a1a1a; font-size:14px; height:auto; line-height:1em; padding:5px 10px; width:122px } .nav ul li a:hover, .nav ul ul a:hover{ color:#ce0000; font-weight:bolder; } .nav ul li:hover ul{ visibility:visible; } </style>
Wir versuchen das oben angesprochene Problem seit knapp 2 Wochen zu beseitigen....vergebens.
Habt ihr vielleicht ne Idee, woran das liegen könnte?
Vielen Dank für Eure Hilfe =)
LG Zneaf
-
Tabellen machen an der Stelle keinen Sinn. Bitte schmeiß die möglichst raus.
Wenn man einen Link im Menü anklickt, wird eine neue Seite geladen. Meinst Du mit deiner Beschreibung, dass du auf der neu geladenen Seite dann auch das Untermenü sehen willst, oder bezieht sich deine Frage auf den Zustand des Links im Moment des Anklickens?
-
Ganz einfach. Du gibst bei der aktuellen Seite kein a-Tag aus, sondern nur den Text. Also haben folgende Regel bei diesem Menüpunkt keine Auswirkung mehr
Code css:1 2 3 4 5
.nav ul li a, .nav ul li a:visited .nav ul ul li a, .nav ul ul li a:visited .nav ul li a:hover, .nav ul ul a:hover
Normalerweise würde man dem aktuellen Link einfach eine Klasse geben und ihn etwas anders stylen. Also ändere die ganzen Abfragen in deinem PHP dahingehend, dass beim aktiven Link z.B. "class="current"" ausgegeben wird.Geändert von CPoly (28.05.11 um 09:50 Uhr)
-
Hey Leute

erstmal Vielen Dank für die schnelle Antwort =)
@threadi: Das mit der Tabelle werd ich mal noch überdenken
Zu deiner 2ten Frage: Mein DropDownMenu bleibt logischerweise immer an einer Stelle. Es ist horizontal angeordnet und droppt die Unterpunkte nach unten, sobald man mit der Maus über die Überpunkte fährt. Was ich meinte, war, dass die Links ihr Design verlieren, sobald man sie angeklickt hat. Das betrifft sowohl die Überpunkte, als auch die Unterpunkte....je nachdem, welchen Punkt man angeklickt hat. Hoffe das war verständlich =)
@CPoly: Das mit den Links im index hab ich mir schon fast gedacht, dass es nicht so funktioniert. Ich habs auch gleich mal testweise ausprobiert, indem ich immer einen <a>-Tag reingemacht habe (egal, ob die Seite aufgerufen ist oder nicht)
Hier ein Beispielcode:
Dabei habe ich sofort gesehen, dass das Problem mit den Unterpunkten behoben ist. Lediglich die Überpunkte sindm unverändert (d.h. haben kein Design mehr, nachdem man sie angeklickt hat).Code :1 2 3 4 5
<div class="nav"> <ul> <li><?php if($site!="hbox"){ echo"<a href=".$_SERVER['PHP_SELF']."?site=hbox>HouseBox</a>"; }else{ echo"<a href=".$_SERVER['PHP_SELF']."?site=hbox>HouseBox</a>";}?></li> </ul> </div>
Allerdings hab ich leider keine Ahnung, wie ich das mit dem "class="current"" umsetzen sollte und was mir das genau bringen würde
sry 
Vielen Dank für Eure Hilfe
LG Zneaf
-
Zur Umsetzung:
Angenommen du hast so ein Menu (mal ohne das PHP Gedöns)
Jetzt kannst du dem aktuell ausgewählten Link (der Link, auf dessen Seite du dich gerade befindest) die Klasse "current" verpassen.HTML-Code:<div class="nav"> <ul> <li><a href="#foo">foo</a></li> <li><a href="#bar">bar</a></li> </ul> </div>
Was bringt das?HTML-Code:<div class="nav"> <ul> <li><a href="#foo" class="current">foo</a></li> <li><a href="#bar">bar</a></li> </ul> </div>
Im Moment wolltest du ja scheinbar den aktuellen Link dadurch "speziell" machen, in dem du ihm das a-Tag geraubt hast. Stattdessen kannst du jetzt via CSS den Link hervorheben.
Code css:1 2 3
.nav .current { color:red; }
Der Benutzer sieht jetzt an der Roten Schrift wo er sich befindet. Natürlich solltest du dir etwas sinnvolleres als Rote Schrift aussuchen (andere Hintergrund oder Rahmen).
-
Hey Leute

habe Neuigkeiten...alles funktioniert wie gewünscht
Hab das ganze so gemacht, wieCPoly gesagt hat und nun funktioniert alles bestens
Vielen Dank
LG Zneaf
Ähnliche Themen
-
Dropdown Menu mit JS
Von 08154711 im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 10.01.08, 20:29 -
Dropdown Menu mit JS
Von 08154711 im Forum CSSAntworten: 1Letzter Beitrag: 10.01.08, 01:41 -
dropdown-menu
Von dieKitty im Forum CSSAntworten: 7Letzter Beitrag: 20.10.07, 14:10 -
CSS-DropDown Menu
Von erzengelsamael im Forum CSSAntworten: 1Letzter Beitrag: 16.10.07, 16:54 -
dropdown-menu
Von dieKitty im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 27.09.07, 20:44





Zitieren


Login





