jquery - Bootstrap 3 和 Wordpress 垂直菜单 : keep submenu open when active

标签 jquery css wordpress twitter-bootstrap submenu

我正在使用 Bootstrap 3 开发一个 WordPress 主题。我使用导航栏组件在侧边栏中有一个垂直菜单。我能够使子菜单的菜单像 Accordion 一样,这样当单击父项时,子菜单就会展开。

我的问题:当其中一个页面处于事件状态时,如何使该子菜单保持打开状态?

我希望有一种方法可以用 CSS 做到这一点,因为我对 jquery 一无所知。

我想我已经阅读了与此问题相关的所有其他帖子并尝试了代码建议,但我无法使任何东西起作用或弄清楚如何正确地将它应用到我的情况中。在过去的两天里,我也在整个互联网上进行了搜索,但无济于事。我现在正在远程工作,但如果有帮助,下周可能会运行该站点。

这是我的菜单代码:

    <nav class="navbar navbar-default" role="navigation">

    <div class="navbar-header">

    <!-- Mobile Navigation -->
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
     </button>               
     </div>

     <!-- Collect the nav links, forms, and other content for toggling -->

        <?php 
            wp_nav_menu( array(
            'menu'            => 'main-nav',
            'depth'           => 2,
            'container'       => 'div',
            'container_class' => 'collapse navbar-collapse',
            'container_id'    => 'bs-example-navbar-collapse-1',
            'menu_class'      => 'nav navbar-nav',
            'fallback_cb'     => 'wp_bootstrap_navwalker::fallback',
            'walker'          => new wp_bootstrap_navwalker()
            ) );
        ?>
    </nav>

这是我一直在其中工作的 CSS。我修改了 bootstrap.css,通过删除小屏幕代码,使菜单像 Accordion 一样:

/* --------------------------------------------------------------------
Making the submenu stay open when clicked
------------------------------------------------------------------- */
.navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu > li > a {
    line-height: 21px;
}
.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
}
/* --------------------------------------------------------------------
  Makes the navbar a verticle menu 
 ------------------------------------------------------------------- */
.navbar .nav > li {
    float: none;
    width: 200px;
    min-width: 125px;
}
.navbar .nav > li a {
    padding: 10px 0 10px 15px;
}

谢谢!

最佳答案

我用过,效果很好!

 .current_page_ancestor > .dropdown-menu {
    display: block;
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
}

关于jquery - Bootstrap 3 和 Wordpress 垂直菜单 : keep submenu open when active,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26410877/

相关文章:

javascript - 如何将链接添加到我的菜单并获取内容以显示文本

html - 如何根据所选选项的高度调整选择菜单的大小?

javascript - browser.tabs.removeCSS 在 Chrome 扩展中不起作用?

mysql - Wordpress Sql meta_value 返回 int 而不是字符串

php - 在 Woocommerce 中显示链接的产品属性术语名称

jquery - 响应式裁剪图像,保持图像中心可见(水平)

php - Ajax 和 PHP - 在不打印 Ajax 的情况下获取 Mysql 表

javascript - 响应式导航栏

jquery - setTimeout 无法使用其中的函数

css - 语义标记与一致的排版