单击某个东西后的jQuery / javascript,然后检查其他内容

时间:2015-02-10 09:51:27

标签: javascript jquery

我正在使用名为mmenu的jquery插件在单击按钮时加载侧边菜单。 这很好,但我也试图让汉堡风格的图像同时出现。我从三行开始,然后当菜单按钮按下它变成一个十字架时,这似乎有效。

我的问题出现在尝试关闭菜单时,我希望它返回到十字架。 mmenu允许你点击任何地方关闭菜单,但我不能让jquery正确地将其更改回来。 单击按钮(.menuvate)时添加了一个类,称为“活动”,显示十字架,但无论我如何尝试我无法在菜单具有单击页面上的任何位置时检查该类是否处于活动状态被打开了。

这是我目前的代码

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

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

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

我只是发出警告,告诉我何时被解雇,当然每次点击页面时都会这样做。 在再次单击页面打开菜单后如何检查活动类,以便我可以删除该类并将其更改回来?

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要收听自定义事件,以了解菜单是关闭还是关闭。

基本上,你想要的是:

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

详细了解mmenu在http://mmenu.frebsite.nl/documentation/custom-events.html

发布的内容

答案 1 :(得分:0)

您可以使用jQuery hasClass属性。

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