do1emu: CSS hover problem

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

  1. 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.

    1. Danke für die Schnellen Hinweise! Hat mir sehr geholfen

  2. @@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'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
  3. Hi!

    Wo ist mein Denkfehler???

    Ich fuerchte, dein Denkfehler ist, dass Du glaubst, mit CSS Javascriptstyles beeinflussen zu koennen.

    --
    Signaturen sind blöd!
  4. 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