如果父级处于活动状态,jQuery 下拉菜单应展开
我正在用 jQuery 制作一个简单的下拉菜单。而且效果很好。但我有一个问题。
问题是,我需要保持活动页面下拉列表展开。在下面的示例中,具有 .inpath 父级的子菜单需要始终保持展开状态。如果您将鼠标悬停在另一个菜单项上,它应该显示相关的子页面,并且当您将鼠标悬停时返回以显示活动子页面。非常感谢任何帮助:-)!
我的 html:
<div id="menu">
<ul>
<li><a href="">Hvem</a></li>
<li><a href="">Hvad</a>
<ul>
<li><a href="">Produkter</a></li>
<li><a href="">Leveringer</a></li>
</ul>
</li>
<li class="inpath"><a href="">Hvordan</a>
<ul>
<li><a href="">Reklame</a></li>
<li><a href="">PR</a></li>
<li><a href="">Websites</a></li>
<li><a href="">Illustrationer</a></li>
</ul>
</li>
<li class="last-item"><a href="">Sådan!</a></li>
</ul>
<div class="clear"><!--clearfix--></div>
</div>
我的 jQuery:
<script type="text/javascript">
//mouseenter, mouseover, hover
// mouseleave, mouseout,
$(document).ready(function () {
$('#menu ul li ul').hide();
$('#menu li').hover(
function () {
//show its submenu
$('ul', this).slideDown(100);
},
function () {
//hide its submenu
$('ul', this).slideUp(100);
}
);
});
</script>
I'm making a simple dropdown menu in jQuery. And it works fine. I'm having a problem though.
The problem is, that i need to keep the active page dropdown expanded In the example below the sub-menu that has the .inpath parent needs to always stay expanded. If you hover on another menu-item it should show the relevant subpages and when you hover out return to show the active subpages. Any help is greatly appriciated :-)!
My html:
<div id="menu">
<ul>
<li><a href="">Hvem</a></li>
<li><a href="">Hvad</a>
<ul>
<li><a href="">Produkter</a></li>
<li><a href="">Leveringer</a></li>
</ul>
</li>
<li class="inpath"><a href="">Hvordan</a>
<ul>
<li><a href="">Reklame</a></li>
<li><a href="">PR</a></li>
<li><a href="">Websites</a></li>
<li><a href="">Illustrationer</a></li>
</ul>
</li>
<li class="last-item"><a href="">Sådan!</a></li>
</ul>
<div class="clear"><!--clearfix--></div>
</div>
My jQuery:
<script type="text/javascript">
//mouseenter, mouseover, hover
// mouseleave, mouseout,
$(document).ready(function () {
$('#menu ul li ul').hide();
$('#menu li').hover(
function () {
//show its submenu
$('ul', this).slideDown(100);
},
function () {
//hide its submenu
$('ul', this).slideUp(100);
}
);
});
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试从原始的
hide()
和hover()
中删除.inpath
。您还需要使用>
(直接后代选择器)进行更具体的选择。http://jsfiddle.net/MGkQC/7/
try removing
.inpath
from the originalhide()
and thehover()
. You also need more specific selects using the>
(direct descendant selector).http://jsfiddle.net/MGkQC/7/