【问题标题】:Clicking on both menu which can be shown on image Main menu and Search box opens at same time? It should open one menu and closes other单击可以在图像上显示的两个菜单主菜单和搜索框同时打开?它应该打开一个菜单并关闭另一个
【发布时间】:2016-08-18 08:12:26
【问题描述】:

Image of menu how it looks when opening the both menus.

一个一个地点击两个菜单,两个菜单都显示,而不是当我点击一个菜单时关闭另一个。我该怎么做?

 $('.toggle-sm-nav, .js-toggle-sm-navigation').click(function(){

        // Change button
        $(this).children('span').toggleClass('glyphicon-align-justify icon-close-menu-cross2');
        $('.sm-searchboxc').find('i').removeClass('active');

        // Toggle menu on hamburger
        $('.navcontainer').toggle();
        $('.header-nav-container').toggleClass('brgropen');

        if( $('.header-nav-container').hasClass('brgropen') ){
            $('body').css('overflow', 'hidden');
        } else {
            $('body').css('overflow', 'visible');
        }
    });
        // Focus search field when opened
        $('.js-toggle-xs-search').on('click', function(){
            $('.sm-searchboxc input#search').trigger('touchstart');

        });
        $('.sm-searchboxc input#search').on('touchstart', function(){
            setTimeout(function(){
                $('.sm-searchboxc input#search').focus();
            }, 0);    
       });

HTML 代码如下所示。

<div class="sm-navigation">
                <div class="row">

                    <div class="sm-nav col-xs-1 col-sm-1 visible-sm">
                        <button class="btn btn-default js-toggle-sm-navigation toggle-sm-nav btn-sm" type="button">
                            <span class="glyphicon glyphicon-align-justify"></span>
                        </button>
                    </div>

                    <div class="col-xs-12 col-sm-2 col-md-2 logocontainer">
                        <div class="site-logo">

                            <div class="content"><a href="/"><img src="/_ui/responsive/theme-blue/images/abc.svg"></a></div></div>
                    </div>

                    <div class="xs-nav col-xs-3 col-sm-3 visible-xs">
                        <button class="btn btn-default js-toggle-sm-navigation" type="button">
                            <span class="glyphicon glyphicon-align-justify"></span>
                        </button>
                    </div>

                    <div class="xs-store-finder col-xs-3 visible-xs ">
                        <a href="/store-finder">
                            <button class="btn btn-default btn-sm" type="button">
                                <span class="glyphicon icon-store-locator"></span>
                            </button>
                        </a>
                    </div>

                    <div class="xs-search col-xs-3 visible-xs">
                        <button class="btn btn-default js-toggle-xs-search toggle-xs-search btn-sm" type="button">
                                <span class="glyphicon icon-search"></span>
                            </button>
                        </div>

                    <div class="searchboxc md-searchboxc col-xs-12 col-sm-5 col-md-5 hidden-xs hidden-sm">
                        <div class="site-search ui-front">
    <form id="search-form" name="search-form" method="get" class="search-form ng-pristine ng-valid ng-scope ng-valid-maxlength" ng-submit="search.submit()" ng-controller="SearchController as search" action="/search/">

图像可以显示在下面。单击一个一个到两个菜单,两个菜单都显示,而不是当我单击一个菜单关闭另一个菜单时。我该怎么做?

【问题讨论】:

    标签: javascript jquery css html menu


    【解决方案1】:

    是不是因为你嵌套了“点击搜索功能”

    $('.js-toggle-xs-search').on('click', function(){

    在您的导航点击功能中?

    $('.toggle-sm-nav, .js-toggle-sm-navigation').click(function(){

    【讨论】:

    • 其实这不是问题,问题是当点击主菜单时它会打开,当点击搜索菜单时,搜索栏会在主菜单中打开,如您在图片链接中看到的那样在顶部给出。任何帮助将不胜感激。
    • 你能提供一个工作代码......用jsfiddle或smth吗?
    • 它的代码太多,无法放在小提琴上,我在课堂上缺少一些技巧,请告诉我。多于 1 lac 行代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2020-08-11
    • 2017-07-16
    • 1970-01-01
    • 2015-07-13
    • 2022-01-03
    • 2014-07-31
    相关资源
    最近更新 更多