2009-07-18 48 views
0

我不确定如果我这样做是正确的,但我试图在jQuery中创建一个简单的下拉菜单。我基本上要一个div(带链接)一旦菜单项悬停在出现..试图创建一个快速的jQuery下拉菜单

菜单:

<ul id="mainlevel"> 
    <li><a href="#" class="mainlevel_home" ><span>Home</span></a></li> 
    <li><a href="#" class="mainlevel_feature-writers" ><span>Feature Writers</span></a></li> 
    <li><a href="#" class="mainlevel_fantasy-killed-my-hsc" ><span>Fantasy Killed My HSC</span></a></li> 
</ul> 

隐藏的事业部:

<div class="subMenu"><a href="/feature-writers/jd-ormsby" class="sublevel jd-ormsby"><span>J.D. Ormsby</span></a></div> 

jQuery:

$(".mainlevel_feature-writers").hover(function(){ 
    $(".subMenu").fadeIn("slow"); 
}, function() { 
    $(".subMenu").fadeOut("slow"); 
}); 

现在,这个隐藏的div淡出并淡化它,但是 - 如果有人在新显示的div内的某个东西上悬停,我该如何阻止它淡出?

对不起,如果这是一个非常明显的问题..我仍在学习! :)

+0

一个菜单并不是一件好事,做对,做跨浏览器。我强烈建议你使用superfish()或其他jQuery或CSS菜单。 – cletus 2009-07-18 14:31:22

+0

我尝试使用Joomla超级鱼组件,但我遇到了单个菜单样式(每个菜单项都有特定图像)的问题..所以我使用joomla分机。菜单,但下拉式打起来,hense我试图自己写:) – SoulieBaby 2009-07-18 14:48:51

回答

1

我认为你需要分开处理mouseovermouseout事件。

假设你想mouseover处理程序被附加到“顶层”菜单元素,并且mouseout处理程序被附加到隐藏的“下拉”div(带有一些状态代码来管理冲突)。