/ / jQuery / javascript nachdem etwas angeklickt wurde, dann nach etwas anderem suchen - javascript, jquery

jQuery / javascript nachdem etwas angeklickt wurde, dann nach etwas anderem suchen - javascript, jquery

Ich verwende ein jquery-Plugin namens mmenu, um ein zu ladenSeitenmenü, wenn auf eine Schaltfläche geklickt wurde. Das funktioniert gut, aber ich versuche auch, ein Hamburger-Stil-Bild zur gleichen Zeit zu bekommen. Ich beginne mit den drei Zeilen und dann, wenn die Menü-Taste gedrückt wird, verwandelt sich das in ein Kreuz, das scheint zu funktionieren.

Mein Problem kommt, wenn ich versuche, das Menü zu schließenmöchte, dass es zu einem Kreuz zurückkehrt. Das M-Menü erlaubt es Ihnen, irgendwo zu klicken, um das Menü zu schließen, aber ich kann nicht das Recht bekommen, es zurück zu ändern. Ich habe eine Klasse hinzugefügt, wenn die Schaltfläche (.menuvate) angeklickt wurde, "active" genannt, die das Kreuz anzeigt, aber egal wie ich es versuche, kann ich nicht überprüfen, dass die Klasse aktiv ist, wenn irgendwo auf der Seite nach dem Menü geklickt wird wurde geöffnet.

Das ist bisher mein Code

$(".menuvate").click(function(){

$("#my-menu").trigger("open.mm");
$("#mm-0").addClass("menu-opened");
$("#nav-toggle").addClass("active");
});

$(document).click(function() {
alert("me");
});

Ich habe gerade einen Alarm ausgelöst, um mir zu sagen, wann das istgefeuert werden, was es natürlich jedes Mal tut, wenn die Seite angeklickt wird. Wie kann ich nach dem Öffnen des Menüs beim erneuten Klicken auf die Seite nach der aktiven Klasse suchen, damit ich die Klasse entfernen und wieder ändern kann?

Vielen Dank.

Antworten:

1 für die Antwort № 1

Sie möchten die benutzerdefinierten Ereignisse abhören, um zu wissen, ob das Menü geschlossen oder geschlossen ist.

Was du willst, ist im Grunde:

$("#my-menu")
.on( "closing.mm", function() {
alert( "The menu has started closing." );
})
.on( "closed.mm", function() {
alert( "The menu has been closed." );
});

Lesen Sie mehr über die von mmenu at gefeuert http://mmenu.frebsite.nl/documentation/custom-events.html


0 für die Antwort № 2

Sie können das Attribut jQuery hasClass verwenden.

 $("#mm-0").hasClass("menu-opened");