Jedes jQuery-Plugin, das ich gefunden habe, basiert auf <li>
Elementen, um die Menüelemente zu generieren.jQuery benutzerdefiniertes Menü
Ich habe <div id = "menubutton">
Element, das die Menü-Taste und andere darstellt, nicht im Zusammenhang mit (maning es ist kein Kind) <div id = "menucontent">
, die die Menüpunkte (gemischtes Material, Bilder usw.) enthält. Ich möchte, dass dieses zweite, versteckte div erscheint, wenn ich auf den Knopf klicke. Es sollte sich verstecken, wenn ich die Taste ODER verlasse, wenn ich den Inhalt div lasse, für den Fall, dass ich Elemente auswähle oder Sachen dort mache.
Nun, das ist der Code, den ich bisher habe, aber die ClearTimeout-Sache scheint nicht zu funktionieren. Irgendeine Hilfe? Ein Plugin zu zeigen, um meine Arbeit zu unterstützen, würde auch funktionieren.
Danke!
var timer;
$('#menubutton').click(function() {
$('#menucontent').show();
});
$('#menubutton').mouseout(function() {
timer = setTimeout('$("#menucontent").hide()', 500);
});
$('#menucontent').mouseover(function() {
clearTimeout(timer);
}).mouseout(function() {
setTimeout('$("#menucontent").hide()', 300);
});
EDIT SOLUTION
löste ich das Problem mit hover
insted von Mouseover/mouseout
warum würden Sie es funktioniert die Taste oder verlassen der Inhalt div? Das wäre nervig, wenn du zwischen den beiden Grenzen stecken bleibst und Scheiße einfach grundlos verschwindet. Der eine oder der andere, nicht beides. Bringt dieses Skript Fehler in der Fehlerkonsole? – Sneakyness
keine Fehler auf der Konsole. Übrigens, wenn ich das Menü nicht überkreuze und einfach auf einen anderen Knopf gehe, würde es geöffnet bleiben. Es ist einfach die Art, wie Standard-Menüs funktionieren, ich denke, – pistacchio