使用Div的简单jQuery下拉菜单

时间:2011-09-06 01:48:06

标签: jquery drop-down-menu

我正在尝试定制&简单使用Div's下拉“菜单”。在mouseenter上,我正在淡入div和mouseout,fadeOut。

如果Div褪色并且你将它悬停,它会保持打开状态,否则 我正在尝试使fadedIn Div淡出而不会悬停进出。 这就是我目前所拥有的:

.mouseout(function(){
          if ($(".test").mouseover){
              return false;
          }else{$('.drop1').fadeOut("fast");}
      });

这是我正在使用的小提琴:http://jsfiddle.net/FXYhJ/

此外,还有更好的方法吗?这是我能想象到的最简单的方法。稍后我将使用变量来缩短代码。

非常感谢

1 个答案:

答案 0 :(得分:1)

这是一个编辑过的小提琴。 http://fiddle.jshell.net/hG2Lu/19/

一些评论:我没有将li用于鼠标输入,而是将其移至内部的a标记。使用嵌套元素时,如果将鼠标悬停在嵌套元素上,则不会将其视为在父元素上进行鼠标悬停。基本上我所做的是在你的代码中引入了一个计时器。如果某人将鼠标移出导航选项,则会在淡出子菜单之前等待一秒钟。 (你可以通过改变setTimout的最后一个争论来改变这个延迟,我把它设置为1000或一秒。)这是必要的,因为导航和子菜单之间有一个间隙,所以我们需要给用户一些鼠标时间他们的鼠标到子菜单。

当然你可以使用更好的jquery选择器来改进这段代码,但我认为你已经远离了这个? (您不必为菜单上的每个选项重复该代码块)