【发布时间】:2010-09-07 15:59:41
【问题描述】:
当我将鼠标悬停在菜单中的父链接上时,“toggle-active”类被添加到 span 标签中,因此箭头图像被更改。当我将鼠标悬停在.sub-menu 容器内的父链接的子链接上时,我还希望将此类添加到跨度标记中,但我无法让它工作。这是我正在使用的 jQuery 的菜单结构::
jQuery(".sub-menu").hide();
jQuery("#gallery-nav").find("li").each(function() {
if (jQuery(this).find("ul").length > 0) {
jQuery("<span class=\"gallery-toggle-button\">").appendTo(jQuery(this).children(":first"));
jQuery("#gallery-nav li a").hover(function(){
jQuery(this).children(".gallery-toggle-button").addClass("toggle-active");
}, function () {
jQuery(this).children(".gallery-toggle-button").removeClass("toggle-active");
});
jQuery("#gallery-nav li a").hover(function(){
jQuery(this).next("ul").slideDown('fast');
});
jQuery("#gallery-nav li ul").hover(function(){
jQuery(this).slideDown('fast');
}, function () {
jQuery(this).slideUp('fast');
});
jQuery("#gallery-nav li ul").hover(this).prev(function(){
jQuery("#gallery-nav li a").children(".gallery-toggle-button").addClass("toggle-active");
}, function () {
jQuery("#gallery-nav li a").children(".gallery-toggle-button").removeClass("toggle-active");
});
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a href="#">Link 1 <span class="toggle-active"></span></a>
<ul class="sub-menu">
<li><a href="#">Sub link 1</a></li>
</ul>
</li>
</ul>
【问题讨论】:
标签: jquery menu hover parent-child