2015-02-10 103 views
2

我正在使用一个叫做mmenu的jquery插件来加载一个侧面菜单,当一个按钮被点击。 这工作正常,但我也试图得到一个汉堡包风格的图像在同一时间。我从三条线开始,然后当菜单按钮按下时它变成了十字,这似乎工作。jQuery/javascript点击后,然后检查其他东西

我的问题是当试图关闭菜单时,我希望它返回到十字。该菜单允许你点击任何地方关闭菜单,但我不能让jquery权利改变它。 当按钮(.menuvate)被点击时,我添加了一个类,称为“活动”,它显示了十字架,但无论我怎么尝试,我都无法得到它来检查该类是否在菜单后单击页面上的任何位置时处于活动状态已经打开。

这是到目前为止我的代码

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

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

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

我只是把警报在告诉我的时候,这是被解雇,这当然它每次被点击的页面。 如何在页面再次单击后打开菜单后检查活动类,以便删除该类并将其更改回去?

谢谢。

回答

1

您将希望收听自定义事件以了解菜单是关闭还是关闭。

基本上,你想要的是:

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

http://mmenu.frebsite.nl/documentation/custom-events.html

+0

谢谢你,我会去,现在看看,我不知道如何错过了文档中:/ – 2015-02-10 10:10:42

+0

太感谢你了,我现在的工作。 Merci bien。 – 2015-02-10 10:27:38

0

您可以使用jQuery的hasClass属性了解更多关于通过mmenu解雇的人。

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

是的,我知道我可以做到这一点,但我的问题是它在什么时候检查类,因为目前它通过文档jquery运行,它没有得到那个类,并且在我打开菜单后,我不知道如何得到它再次检查(希望是有道理的) – 2015-02-10 10:10:15

相关问题