javascript - 如何关闭响应式菜单,单击导航外部

标签 javascript jquery html css twitter-bootstrap

您好,我的问题是,我有一个菜单,一个带有 Bootstrap 的响应式菜单,我想关闭桌面上响应式 View 上的菜单,这很好,但在响应式 View 上,我希望当我单击任何区域的导航菜单外部时,它应该关闭,我的导航代码如下

<!-- Navigation -->

<nav id="navigation-sticky" class="white-nav b-shadow">

    <!-- Navigation Inner -->

    <div class="nav-inner">

        <div class="logo">

            <!-- Navigation Logo Link -->

            <a href="#home" class="scroll">

                <!-- Your Logo -->

                <img src="" class="site_logo" alt=""/><br>

               </a>

        </div>

        <!-- Mobile Menu Button -->

        <a  class="mobile-nav-button colored"><i class="fa fa-bars"></i></a>

        <!-- Navigation Menu -->

        <div class="nav-menu clearfix ">

            <ul class="nav uppercase oswald">

                <li><a href="#home" class="scroll">home</a></li>

                <li class="dropdown-toggle nav-toggle" ><span href="#about" class="scroll">About App<b data-toggle="dropdown"></b></span>

                    <!-- DropDown Menu -->

                    <ul class="dropdown-menu uppercase gray-border clearfix">                       

                        <li><a href="#works" class="scroll">HOW DOES IT WORK?</a></li>
                        <li><a href="#features" class="scroll">Features</a></li>                        
                        <li><a href="#what-we-do" class="scroll">APP FLOW</a></li>
                        <li><a href="#faq" class="scroll">F.A.Q</a></li>

                    </ul>

                    <!-- End DropDown Menu -->

                </li>



                <li><a href="#portfolio" class="scroll">Service Types</a></li>

                <li><a href="#skills" class="scroll">Cities</a></li>

                <li><a href="#prices" class="scroll">Rates</a>

                </li>

                <li><a href="#download" class="scroll">Download</a></li>



                <li class="dropdown-toggle nav-toggle" ><span aria-expanded="false" aria-haspopup="true" role="button" data-toggle="dropdown" class="dropdown-toggle scroll">Become a Driver</span>

                    <!-- DropDown Menu -->

                    <ul class="dropdown-menu uppercase gray-border clearfix">                       

                        <li><a href="#" class="scroll">Signup</a></li>
                        <li><a href="#" class="scroll">Flyer</a></li>                       


                    </ul>

                    <!-- End DropDown Menu -->

                </li>

                                    <li><a href="#" class="scroll">login</a></li>

                <li><a href="#contact" class="scroll">contact</a></li>

            </ul>

        </div><!-- End Navigation Menu -->

    </div><!-- End Navigation Inner -->

</nav><!-- End Navigation -->

我使用此脚本关闭菜单,它关闭菜单,但通过双击而不是单击打开菜单

$('html').click(function() {
 $('#menu').hide(); 
});

最佳答案

我认为这可能适合你:

$(document).mouseup(function (e)
{
    var container = $(".nav-menu");

    if (!container.is(e.target) // if the target of the click isn't the container...
        && container.has(e.target).length === 0) // ... nor a descendant of the container
    {
        container.css("display","none");
    }
}); 

更新:试试这个

var container = $(".nav-inner div.nav-menu, .mobile-nav-button");

    if (!container.is(e.target) // if the target of the click isn't the container...
        && container.has(e.target).length === 0) // ... nor a descendant of the container
    {
        $(".nav-inner div.nav-menu").slideUp();
    }

关于javascript - 如何关闭响应式菜单,单击导航外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645509/

相关文章:

javascript - 使用 Word JavaScript API 添加超链接

javascript - 选择列表显示键而不是值

javascript - 如何在用户单击链接或菜单外部后关闭此复选框菜单?

jquery - 添加动态名称按顺序输入

php - 如何从 PHP 中的 http 链接获取数据?

html - 纯 CSS 解决方案,用于在父项之间存在悬停间隙时保持子项显示

javascript - 如何根据条件对对象数组中的属性求和

javascript - 如何匹配点下划线下划线 ".__"

javascript - 如何删除下拉列表中的部分文本?

等效于 C strncmp 的 JavaScript(比较字符串的长度)