javascript - 菜单 acordeon : div stuck in my list because of the overflow

标签 javascript html css


我想创建一个侧面菜单,我的代码如下所示:

function opensubmenus() {
  $('#submenus').css("display", "block");
}
#menus {
  overflow-y: scroll;
  width: 150px;
  background-color: blue;
}
#submenus {
  background-color: green;
  display: none;
}
submenus ul {
  float: right;
  position: relative;
}
nav {
  overflow: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
  <div id='menus'>
    <ul>
      <li>
        <span onclick='opensubmenus()'>Menu 1</span>

        <ul id='submenus'>
          <li>SubMenu 1
          </li>
          <li>
            SubMenu 2
          </li>
          <li>
            SubMenu 3
          </li>
        </ul>



      </li>
      <li>
        Menu 2
      </li>
      <li>
        Menu 3
      </li>
    </ul>
  </div>
</nav>

但是当我显示子菜单时,他没有出现在框外...... 我想要一个这样的菜单:
enter image description here 我绝对需要“overflow-y”,因为我有很多菜单,而且我需要有一个滚动选项。你知道如何得到这个结果吗?

最佳答案

您有<ul id="submenus"> <div id="menus">内,如果您不希望菜单内有子菜单,请再制作一个 <div> ,并将其放入:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
  <div id='menus'>
    <ul>
      <li>
        <span onclick='opensubmenus()'>Menu 1</span>

      </li>
      <li>
        Menu 2
      </li>
      <li>
        Menu 3
      </li>
    </ul>
  </div>

  <div>
    <ul id='submenus'>
      <li>SubMenu 1
      </li>
      <li>
        SubMenu 2
      </li>
      <li>
        SubMenu 3
      </li>
    </ul>
  </div>
</nav>

然后,要将它们并排显示,请应用 float:left;#menus :

#menus {
  overflow-y: scroll;
  width: 150px;
  background-color: blue;
  float: left;
}

#submenus {
  background-color: green;
  display: none;
}

submenus, ul {
  float: right;
  position: relative;
}

nav {
  overflow: hidden;
}

关于javascript - 菜单 acordeon : div stuck in my list because of the overflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839632/

相关文章:

javascript - CSS - 使内容在动画背景前面

JavaScript 错误 : Uncaught TypeError: Cannot read property 'left' of undefined

html - 流体容器,具有流体固定流体内部布局

JavaScript:为什么是 []==![]?

Javascript onkeyup 事件仅适用于 Chrome 时间计算器

javascript - 有没有办法在 switch 中使用 OR ?

javascript - 在 select2 更改事件上触发 HTMX 调用

CSS向下滚动图像

css - 元缓存标记和 htaccess 缓存之间的区别?

css - 将其转换为 css 样式表