2011-04-12 76 views
0

我有一个下拉菜单,我需要帮助让悬停链接保持活动,当我把它悬停在它上面,所以它与下拉菜单混合。需要JS来保持悬停链接活动

我已经把代码放在JSF

http://jsfiddle.net/JmR87/2/

感谢

+0

对于这些任务,您不需要JavaScript。请参阅http://www.cssplay.co.uk/menus/了解一些很好的示例,以纯CSS完成此操作。 – feeela 2011-04-12 15:20:45

回答

3

您可以通过这个不断变化的修正:

#nav-container li a:hover span { 
    display: block; 
    background-image: url(http://i.stack.imgur.com/sTqNy.gif); 
    background-repeat: repeat-x; 
} 

这样:

#nav-container li:hover span { 
    display: block; 
    background-image: url(http://i.stack.imgur.com/sTqNy.gif); 
    background-repeat: repeat-x; 
    color: #000 
} 

请参阅:http://jsfiddle.net/JmR87/5/

+0

这是正确的,但你也需要通过javascript在这些父'li'上设置一个'hover'类,以便悬停在IE中工作。 – 2011-04-12 15:16:40

+0

@Michael Rose:这只是IE6的情况。如果他真的关心IE6的支持(变得越来越不重要:[http://ie6countdown.com/](http://ie6countdown.com/)),他​​可以使用[Whatever:hover](http:// www.xs4all.nl/~peterned/csshover.html?sharedBy=Urlsave.net)。 – thirtydot 2011-04-12 15:19:36

+0

谢谢@thirtydot工作得很好。我认为我需要针对IE浏览器,尽管如@迈克尔罗斯说。 – tom 2011-04-12 15:23:25

1

向悬停函数中悬停的元素添加一个类,然后在退出时将其删除。该类应具有相同的风格有悬停风格:

$(function() { 
    $('.dropdown, .dropdown2, .dropdown3').each(function() { 
    $(this).parent().eq(0).hover(function() { 
     $('.dropdown, .dropdown2, .dropdown3:eq(0)', this).show(); 
     $(this).addClass("hoverstyle"); 
    }, function() { 
     $('.dropdown, .dropdown2, .dropdown3:eq(0)', this).hide(); 
     $(this).removeClass("hoverstyle"); 
    }); 
    }); 
}); 

然后定义.hoverstyle

+0

谢谢@Keltex,即使我定义该选择器后,似乎并没有工作。我刚刚用过:盘旋,似乎在ie上运行良好 – tom 2011-04-12 15:30:54