我正在尝试定制&简单使用Div's下拉“菜单”。在mouseenter上,我正在淡入div和mouseout,fadeOut。
如果Div褪色并且你将它悬停,它会保持打开状态,否则 我正在尝试使fadedIn Div淡出而不会悬停进出。 这就是我目前所拥有的:
.mouseout(function(){
if ($(".test").mouseover){
return false;
}else{$('.drop1').fadeOut("fast");}
});
这是我正在使用的小提琴:http://jsfiddle.net/FXYhJ/
此外,还有更好的方法吗?这是我能想象到的最简单的方法。稍后我将使用变量来缩短代码。
非常感谢
答案 0 :(得分:1)
这是一个编辑过的小提琴。 http://fiddle.jshell.net/hG2Lu/19/
一些评论:我没有将li
用于鼠标输入,而是将其移至内部的a
标记。使用嵌套元素时,如果将鼠标悬停在嵌套元素上,则不会将其视为在父元素上进行鼠标悬停。基本上我所做的是在你的代码中引入了一个计时器。如果某人将鼠标移出导航选项,则会在淡出子菜单之前等待一秒钟。 (你可以通过改变setTimout的最后一个争论来改变这个延迟,我把它设置为1000或一秒。)这是必要的,因为导航和子菜单之间有一个间隙,所以我们需要给用户一些鼠标时间他们的鼠标到子菜单。
当然你可以使用更好的jquery选择器来改进这段代码,但我认为你已经远离了这个? (您不必为菜单上的每个选项重复该代码块)