首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击菜单项后,汉堡菜单返回到3个链接

单击菜单项后,汉堡菜单返回到3个链接
EN

Stack Overflow用户
提问于 2015-08-01 02:22:16
回答 1查看 1K关注 0票数 3

我有一个汉堡图标,当点击时变成了一个X。当再次点击时,又变成了3行。我让它工作,所以当链接被点击时,菜单消失了,但汉堡菜单不会返回到3行。我试过的都不管用。这是我所拥有的。

代码语言:javascript
复制
var burgerIcon = $('.burger-icon');

function toggleBurger(){
    burgerIcon.click(function(){
        if(burgerIcon.hasClass("is-active") === true)
        {
            burgerIcon.removeClass("is-active");
            //console.log("remove");
        }
        else
        {
            burgerIcon.addClass("is-active");
            //console.log("add");
        }
    });
}

toggleBurger();

$('.toggle-nav').click(function() {
    $('body').toggleClass('show-nav'); 
    return false;
});

$('nav ul li > a').click(function(){
    //console.log("clicked");;
    $('body').trigger( "click" );
    burgerIcon.trigger( "click" );
});

HTML:

代码语言:javascript
复制
<nav>
<ul data-magellan-expedition="fixed">
                        <li data-magellan-arrival="work">
                            <a href="#work" class="hvr-sweep-to-right">Work</a>
                        </li>

                        <li data-magellan-arrival="about">
                            <a href="#about" class="hvr-sweep-to-right">About</a>
                        </li>

                        <li data-magellan-arrival="shadow">
                            <a href="#shadow" class="hvr-sweep-to-right">Shadow CC</a>
                        </li>

                        <li data-magellan-arrival="clients">
                            <a href="#clients" class="hvr-sweep-to-right">Clients</a>
                        </li>
                    </ul>
                </nav>

这里是我试图解释的一个小问题:jsFiddle

EN

回答 1

Stack Overflow用户

发布于 2015-08-01 05:55:10

既然你在你的代码中使用了jQuery,你就可以利用它,然后你真正需要的就是:

代码语言:javascript
复制
$('nav ul li > a,.c-hamburger').click(function () {
    console.log("clicked");
    $('body').toggleClass('show-nav');
    if ($('body').hasClass('show-nav')) {
        $('.c-hamburger').addClass("is-active");
    } else {
        $('.c-hamburger').removeClass("is-active");
    }
});

更新的fiddle:http://jsfiddle.net/qe38m0t9/2/

注意:这使用了两个选择器,一个用于“汉堡包”,另一个用于用逗号分隔的菜单,然后根据单击的内容执行相同的操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31752696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档