javascript - 在菜单选择时自动关闭切换导航菜单

标签 javascript jquery html toggle nav

我需要帮助自动关闭移动设备上的切换导航菜单。现在,选择菜单时它不会关闭。

HTML:

<!-- fixed header -->
    <header id="navbar-top">
        <div class="pt_navbar">
            <div class="container">
                <div class="row">
                    <div class="col-lg-12">
                        <!-- start menu-->
                        <div id="main-nav">
                            <a href="#" id="toggle-nav"><i class="fa fa-bars"></i> Miracle Trainer</a>
                            <ul class="pt_nav nav">
                                <li class="active">
                                    <a href="#welcome">Welcome</a>
                                </li>
                                <li>
                                    <a href="#portfolio">Training Videos</a>
                                </li>
                                <li>
                                    <a href="#pricing">Pricing</a>
                                </li>
                                <li>
                                    <a href="#contact">Contact</a>
                                </li>
                            </ul>
                        </div>
                        <!-- end menu-->
                    </div>
                </div>
            </div>
        </div>
    </header>

JS:

我需要一种在选择菜单时关闭切换导航的方法。

$("body").on('click', '#toggle-nav', function(e){
        e.preventDefault();

        var nav_menu = $("#navbar-top .pt_navbar ul");

        if( nav_menu.height() < 10 ){
            nav_menu.addClass('open_menu');
        }else{
            nav_menu.removeClass('open_menu');
        }
});

最佳答案

我目前正在使用它作为滑出式菜单:

$('.slideout-menu-toggle, .select').on('click', function(event){
    event.preventDefault();
        // create menu variables
    var slideoutMenu = $('.slideout-menu');
    var slideoutMenuWidth = $('.slideout-menu').width();
        // toggle open class
    slideoutMenu.toggleClass("open");
        // slide menu
    if (slideoutMenu.hasClass("open")) {
        slideoutMenu.animate({
        right: "0px"
        });
    } else {
        slideoutMenu.animate({
        right: -slideoutMenuWidth
        }, 400);
    }
});

一些调整可能对您有用。

编辑:考虑到上面的工作代码,我认为你的第一条 jQuery 行应该是这样的:

$('#toggle-nav, .select').on('click', function(e){

并将“select”类添加到您的列表项中。

关于javascript - 在菜单选择时自动关闭切换导航菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682151/

相关文章:

html - 如何在html表格中将整个行高设置为其他行高的两倍

html - 我想像下面给出的图像一样重叠两个 div

javascript - 如何检查selenium WDS Jmeter中的div显示属性

jquery - 选中/取消选中 jquery mobile 中的所有复选框失败

html - 仅使用 CSS 为段落中的第一个字母应用样式

javascript - 如何让 Python 和 Selenium 通过将链接与用户输入文本匹配来单击 angularjs 链接?

javascript - 从对象运行 jQuery Ajax

javascript - 重新加载javascript而不刷新页面

javascript - Meteor JS - 动态扫描文件夹并添加到集合中

javascript - "with"从 Scala 中的 JavaScript 构造