CSS hover problem
do1emu
- css
0 dedlfix
0 do1emu
0 Gunnar Bittersmann
0 Steel0 do1emu
Hi,
nachdem ich jahrelang nur mitgelesen habe, habe ich mich heute mal dazu entschlossen mich anzumelden und auch mal eine Frage zu stellen...
Ich habe eine Verschachtelte Liste die bei hover die jeweilige Unterliste anzeigt quasi ein stink normales drop down Menü.
ul.dropdown li:hover > ul {
visibility: visible;
}
Der Unterschied ist, dass man bei mir die Links nicht klicken braucht, denn die jeweiligen Informationen werden mit javascripts "onmouseover" geladen... Warum, wieso das so ist hat seine Gründe also das zu ändern ist keine Option :) (nur falls mir das einer vorschlagen will)
Nun zum Problem. Der User soll, da er klicken ja auch gewöhnt ist, beim Klick damit belohnt werden, dass sich das Dropdownmenü wirder versteckt...
Soweit kein Problem mit jquery:
function toggleSubmenu(){
$('ul.dropdown ul').css("visibility","hidden");
}
Wenn ich allerdings jetzt wieder mit der Maus auf das Menü draufgehen (hover) wird es nicht wieder eingeblendet.
Wo ist mein Denkfehler???
Ich danke recht herzlich für Lösungsvorschlaäge
Tach!
nachdem ich jahrelang nur mitgelesen habe, habe ich mich heute mal dazu entschlossen mich anzumelden und auch mal eine Frage zu stellen...
Anmelden ist nur notwendig, wenn du die Ansicht und das Verhalten des Forums individuell anpassen möchtest und das Forum sich diese Einstellungen merken soll. Für andere Zwecke ist die Anmeldung nicht erforderlich.
Wenn ich allerdings jetzt wieder mit der Maus auf das Menü draufgehen (hover) wird es nicht wieder eingeblendet.
Wo ist mein Denkfehler???
Verwende die Debug-Werkzeuge der Browser, beispielsweise Firefoxens Firebug-Extension. Zeige auf das dich interessierende Element und Rechtsklick->Element untersuchen. Schau dir dann an, wie jQuery die CSS-Eigenschaft gesetzt hat. Wenn es sie nicht der Klasse sondern dem Element direkt zugewiesen hat, hast du ein Problem mit der http://de.selfhtml.org/css/formate/kaskade.htm#spezifitaet@title=Spezifität.
dedlfix.
Danke für die Schnellen Hinweise! Hat mir sehr geholfen
@@do1emu:
nuqneH
Wo ist mein Denkfehler???
In der http://de.selfhtml.org/css/formate/kaskade.htm#spezifitaet@title=Spezifität. Durch die jQuery-Methode css()
ist A = 1.
Qapla'
Hi!
Wo ist mein Denkfehler???
Ich fuerchte, dein Denkfehler ist, dass Du glaubst, mit CSS Javascriptstyles beeinflussen zu koennen.
Um niemanden der später evtl auf diesen Fehler trifft im Dunkeln zu halten schreibe ich hier noch die entgültige Lösung
ul.dropdown li:active > ul {
display: none;
}
Dann bleiben wir auch bei der Spezifität und es passiert das was ich brauche!!!
P.S. Das funktioniert nicht:
ul.dropdown li:active > ul {
visibility: hidden;
}
weil so im Moment wo man die Maustaste wieder losgelassen hat das :hover wieder greift und es nicht verschwindet (bzw. nur solange wie die Maustaste gedrückt ist)!
Danke nochmals für den Hinweis