gpt4 book ai didi

jquery - 当有很多子节点且没有 "grandchildren"节点时,superfish 下拉列表将被列为列

转载 作者:行者123 更新时间:2023-11-28 09:53:38 24 4
gpt4 key购买 nike

我有一个使用 jquery superfish 的水平导航菜单。在我的一个下拉菜单中,将不再有下拉菜单(即没有孙节点),但有几个子节点(现在准确地说是 45 个,它可能会及时上升或下降)。我正在尝试找到一种方法让下拉列表超过一定数量。 15 对我来说很好,因为有 45 个。所以这里没有显示所有包含的 html 列表 - 为了减少代码,我将使用 15:

<ul class="sf-menu sf-js-enabled sf-shadow" id="menu-1">
<li class="current"> <a href="#a" class="sf-with-ul">menu item<span class="sf-sub-indicator"> »</span></a>
<ul style="display: none; visibility: hidden;">
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
</ul>
</li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
</ul>

因此,如果我希望列从 5 开始,我将正好有 3 列。我无法弄清楚如何才能做到这一点而不破坏一切。我试过使用一些 css 但没有找到解决方案。

最佳答案

我建议您使用 mega dropdown如果列表中有 45 个元素,则使用脚本代替 superfish。

更新:如果您想要一个能很好地降级的多列下拉菜单,那么为什么不直接使用 CSS 菜单呢?查看multi-column menu , pro dropdownlist 1 , prodropdown list 2 , CSS3 multi-slide甚至是 vertical flyout list .


更新 #3:好吧,因为我的强制症迫使我弄清楚这个问题,所以今天我研究了一段时间,哈哈。它不是那么漂亮,但它有效。这是 a demo .

您必须稍微重新格式化 HTML:

<ul class="sf-menu">
<li>
<a href="#a">menu item</a>
<div class="listwrap">
<div class="listblock">
<ul>
<li><a href="#">menu item</a></li>
...
<li><a href="#">menu item</a></li>
</ul>
</div>
<div class="listblock">
<ul>
<li><a href="#">menu item</a></li>
...
<li><a href="#">menu item</a></li>
</ul>
</div>
</div>
</li>
</ul>

将此 CSS 添加到标准中

.sf-menu .listwrap {
position: absolute;
top: -999em;
max-height: 500px; /* adjust height as desired */
width: 45em; /* adjust width as more columns are added (~10em per column + shadow width */
}
.sf-menu .listblock ul {
position: relative;
display: block;
float: left;
width: 10em;
}
.sf-menu li:hover ul,
.sf-menu li:hover .listwrap, /* added two definitions to existing one */
.sf-menu li.sfHover .listwrap,
.sf-menu li.sfHover ul {
left: 0;
top: 2.5em; /* match top ul list item height */
z-index: 99;
}
.sf-menu li:hover .listblock ul,
.sf-menu li.sfHover .listblock ul {
top: 0;
left: 0;
}

关于jquery - 当有很多子节点且没有 "grandchildren"节点时,superfish 下拉列表将被列为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2931879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com