Kannst ja mal folgenden Code verwenden.
Immer gut, wenn man ein Framework verwendet und dann schön dran vorbeiprogrammiert - so gehört sich das.
Habe es gerade so auf die schnelle runtergerotzt.
Ja, sieht man.
Ist sicherlich auch noch ausbaufähig,
Ich würde sagen, dass man das Ding eher in die Tonne treten sollte - wenn du eine Lösung ohne jQuery machen willst, ist das vertretbar - aber wie schon gesagt: Framework verwenden oder nicht.
$(document).ready(function() {
$('#menu>ul>li').hover(
function() {
$('#menu>ul>li>ul').stop(true, true).hide();
$('ul', this).show();
},
function() {
$('ul', this).delay(4000).hide();
}
);
});
Wie ich schon sagte - die jQuery Doku ist etwas unglücklich geschrieben, wenn es um delay() geht.
Im ersten Argument von hover() werden alle Menüpunkte versteckt (und zum Ende der Queue gesprungen - das beendet auch das delay()).
Danach wird der derzeitige geöffnet.
Beim Verlassen (2. Argument) wird ein delay() gesetzt und dann erst geschlossen.
Aber auch das funktioniert noch nicht einwandfrei - es dürfen natürlich im ersten Argument nicht alle geschlossen werden, sondern nur diejenigen, die nicht gewählt wurden. Das delay() muss hier natürlich trotzdem beendet werden, aber der Punkt muss geöffent bleiben, wenn es der zur Zeit gewählte ist - sonst klappt der zu und sofort wieder auf.
Aber das kriegt der OP sicher alleine hin. Man darf ja nicht alles vorbeissen hier - aber zumindest sollte der OP mit der richtigen Ausgangsbasis weitermachen.
Die showMenu- und hideMenu-Funktionen sind übrigens unfug, die hab' ich auch gleich entsorgt.