hast Du einen Link für die Varianten (die Du oder gunnar präferieren)
meine variante ist recht simpel:
jedes li-element mit kindelementen bekommt 2 eventhandler (onmouseover und onmouseout welche an eine funktion eine elementreferenz auf ihr letztes kindelement übergeben
die funktion prüft lediglich ob das letzte kindelement ein ul-element ist, wenn ja wird geprüft, ob die display eigenschaft NICHT block ist und ggf auf block gesetzt und umgekehrt
sprich sind etwa 10 zeilen javascript - viel spass beim nachbauen ;)
den link zu gunnars präferierter variante unterdrückt mein gehirn sofort, da ich nicht damit leben kann, invaliden code (wenn auch nicht "gefühlt" und versteckt in conditional comments) zu verwenden ;)