【发布时间】:2016-04-19 08:46:29
【问题描述】:
我有一个结构如下的多级菜单:
<div id="outer_div">
<div id="menu_liv0" class="menu">
<ul>
<li><a href="#" data-id="125" data-liv="0">text</a></li>
<li><a href="#" data-id="184" data-liv="0">text</a></li>
<li><a href="#" data-id="240" data-liv="0">text</a></li>
</ul>
</div>
<div id="menu_liv1" class="menu">
<ul>
<li><a href="#" data-id="430" data-liv="1">text</a></li>
<li><a href="#" data-id="307" data-liv="1">text</a></li>
<li><a href="#" data-id="652" data-liv="1">text</a></li>
</ul>
</div>
<div id="menu_liv2" class="menu">
<ul>
<li><a href="#" data-id="410" data-liv="2">text</a></li>
<li><a href="#" data-id="174" data-liv="2">text</a></li>
<li><a href="#" data-id="921" data-liv="2">text</a></li>
</ul>
</div>
</div>
我想使用 jQuery 来处理 li(或 a)的悬停事件以显示菜单的第二级,但我不知道该怎么做。我尝试了这种方式和 children("li").children("a") 方法都没有成功。
$("#menu_liv0 > ul > li").on("mouseenter", function(){
//function that populates the second level of the menu goes here
$("#menu_liv1").css("display", "block");
});
$("#menu_liv0 > ul > li").on("mouseleave", function(){
$("#menu_liv1").css("display", "none");
});
【问题讨论】:
-
你能解释一下
liv1和2的情况吗? -
对我来说你好像有三个单级菜单
-
无论如何你可以只使用 css :hover 来制作多级悬停菜单
-
@rerich 我已经使用 css hover 来更改 div 的背景,但我还需要在悬停 menu_liv0 的
- 时动态生成 menu_liv1,并在悬停 menu_liv1 的
- 时生成 menu_liv2。
-
@RokoC.Buljan 我使用 liv0、liv1 和 liv2 作为三级菜单,其中 liv0 是最低级别,而 liv2 是最高级别。
标签: javascript jquery css menu