我希望获得一个包含以下列表的导航菜单:
<ul>
<li class="section-title">Yoga
<ul style="display: none;">
<li><a href="/">Approach</a></li>
<li><a href="/">Asanas</a></li>
<li><a href="/">Yoga</a></li>
<li><a href="/">Kirtan</a></li>
</ul>
</li>
</ul>
我写了一些jquery来获得手风琴效果。如果单击第一个级别,则第二个列表将以切换效果打开:
$(function() {
$("#lbar li.section-title ul").hide();
$("#lbar li.section-title").click(function() {
$(this).find("ul").toggle();
});
});
$(function() {
$("#lbar li.section-titleact ul").show();
$("#lbar li.section-titleact").click(function() {
$(this).find("ul").toggle();
});
});
$(function() {
$("#lbar li.section-titleact ul li a").click(function() {
$("#lbar li.section-titleact ul").css("display", "block");
});
});
现在打开页面时隐藏了子菜单。这是对的。单击菜单项并显示子菜单。这是对的。没有指向第一级页面的链接。然后单击页面打开的第二级链接,但第二级<ul>
隐藏几秒钟。这是错误。
不幸的是我无法更正jquery脚本。有人可以帮助我,或者有我需要的菜单示例吗?
答案 0 :(得分:0)
我应该重写代码
<ul>
<li class="section-title"><span>Yoga</span>
<ul style="display: none;">
<li><a href="/">Approach</a></li>
<li><a href="/">Asanas</a></li>
<li><a href="/">Yoga</a></li>
<li><a href="/">Kirtan</a></li>
</ul>
</li>
</ul>
添加了一个范围。
jQuery的:
$('.section-title > span').on('click', function()
{
$(this).siblings('ul').slidetoggle();
});
我希望这有点帮助(或者我误解了一下这个问题?)