Lini Geschrieben 24. Mai 2007 Geschrieben 24. Mai 2007 Hallo Leute, ich habe folgendes Problem: Ich bastel im Moment eine Seite, bei der die Navigation oben horizontal angezeigt werden soll. Es handelt sich dabei um zwei ineinander verschachtelte Listen. <ul> <li>1</li> <li>2 <ul> <li>2.1</li> <li>2.2</li> </ul> </li> </ul> 2.1 und 2.2 sollen erst erscheinen, wenn man mit der Maus ĂŒber Punkt 2 fĂ€hrt. Die einzelnen Punkte/Links sind aber kein Text, sondern Buttons. Bis hierher kein Problem, denn das habe ich mit CSS gelöst. Im Mozilla Firefox wird die Navigation richtig angezeigt. Im IE7 funktioniert dies allerdings nicht. Ich habe mich bereits durch die SELFHTML-Doku gewĂŒhlt und bin auf die Star-Plus-HTML-Hacks gestoĂen, die ja eigentlich fĂŒr den IE7 da sein sollen. Dies funktioniert leider nicht. Also habe ich fĂŒr den IE7 eine andere Lösung in JavaScript geschrieben bzw. zusammengesucht. Nun funktioniert die Navigation auch im IE7, nur habe ich jetzt LĂŒcken zwischen den Listenpunkten 2.1 und 2.2. Ich weiĂ auch, wie ich das Problem beheben kann. Ich muss nur fĂŒr 2.1 und 2.2 margin und padding auf 0 setzen. Jetzt das Problem: Ich weiĂ nicht, wie ich deklarieren muss, um genau die "li" von 2.1 und 2.2 ansprechen zu können. Hier der entsprechende Quellcode: <script type="text/javascript"> if(window.navigator.systemLanguage && !window.navigator.language) { function hoverIE() { var LI = document.getElementById("Navigation").firstChild; do { if (sucheUL(LI.firstChild)) { LI.onmouseover=einblenden; LI.onmouseout=ausblenden; } LI = LI.nextSibling; } while(LI); } function sucheUL(UL) { do { if(UL) UL = UL.nextSibling; if(UL && UL.nodeName == "UL") return UL; } while(UL); return false; } function einblenden() { var UL = sucheUL(this.firstChild); UL.style.display = "block"; UL.style.backgroundColor = "#f00"; UL.style.left = "5"; } function ausblenden() { sucheUL(this.firstChild).style.display = "none"; } window.onload=hoverIE; } </script> Liege ich mit meinen Behauptungen eigentlich richtig? FĂŒr Eure Hilfe wĂ€re ich euch sehr dankbar, denn so langsam aber sicher kann ich diesen Quellcode nicht mehr sehen ;-).
geloescht_JesterDay Geschrieben 24. Mai 2007 Geschrieben 24. Mai 2007 2.1 und 2.2 sollen erst erscheinen, wenn man mit der Maus ĂŒber Punkt 2 fĂ€hrt. Die einzelnen Punkte/Links sind aber kein Text, sondern Buttons. Stu Nicholls | CSSplay | A css only dropdown menu Da findest du noch ne Menge mehr zu CSS-MenĂŒs, davon hilft dir mit Sicherheit was (ohne Javascript).
Lini Geschrieben 24. Mai 2007 Autor Geschrieben 24. Mai 2007 Danke. Das Problem ist nur, dass der IE7 bekanntermaĂen einige Probleme mit CSS hat. Im Firefox ist die Seite schon perfekt. Hinter folgendem Link befindet sich etwas sehr interessantes zu genau diesem Thema: Forumsdiskussion Da ich weiĂ, dass es im IE7 mit JavaScript klappt, wĂŒrde ich es gern so machen. Brauche ja wie gesagt nur noch die Info, wie ich dieses Tag ansprechen kann...
MaddinMV Geschrieben 24. Mai 2007 Geschrieben 24. Mai 2007 Da ich weiĂ, dass es im IE7 mit JavaScript klappt, wĂŒrde ich es gern so machen. Brauche ja wie gesagt nur noch die Info, wie ich dieses Tag ansprechen kann... bin mir zwar nicht sicher ob ich dich richtig verstanden habe, aber versuche es trotzdem: du kannst auf die tags mit JavaScript zugreifen durch: document.getElementById('Id') oder: document.getElementbyTagName("a") //wobei a fĂŒr alle <a> tags steht Irgendein problem gab es bei der 2ten variante, hab nur vergessen welches aber wenn du ueber ID's gehst, solltest du auf der sicheren seite sein^^ //Edit: weitere möglichkeit: habs jetzt zwischen nen <div> - tag geknallt, sieht man besser: <div style=" width:10%; background-color:#666666; color:#00FF00;" onmouseover="this.style.backgroundColor='#00FF00';" onmouseout="this.style.backgroundColor='#666666'"> <a href="#" style="width:100%; align:center;" >Link</a> </div> [/PHP] die Styles werden natĂŒrlich per css verĂ€ndert nicht wie ich sie mitten reingeknallt hab ^^ ajo gibt noch ne möglichkeit...du gibst deine li oder was auch immer, classnamendie kannst du auch mit javascript ansprechen this.classname = "neuerClassName" dann brauchst du den CSS quatsch nur einmal schreiben und verĂ€nderst immer dynamisch den KlassenNamen, wenn du dazu noch nen beispiel brauchst, sag bescheid!
Lini Geschrieben 24. Mai 2007 Autor Geschrieben 24. Mai 2007 Vielen Dank. Ich brauche JavaScript jetzt allerdings nicht mehr. Hab das jetzt hingekriegt, dass es auch im IE7 mit CSS geht. War ein ganz blöder Fehler von mir. Hab den Wald vor lauter BÀumen nicht mehr gesehen. Beim nÀchsten Problem melde ich mich wieder...
Empfohlene BeitrÀge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden