Jquery 鼠标悬停在菜单上并超时
我有多级菜单,当我将鼠标悬停在一个菜单项上时,如果该项有子菜单,它将显示子菜单项。我认为这是一个正常的下拉菜单操作。问题是,当我将鼠标从主菜单项快速移动到子菜单项时,如果鼠标不在路径中,子菜单项将消失,我必须再次悬停以显示 我在网上搜索,找到了很多导游 [http://stackoverflow.com/questions/2316213/simple-jquery-dropdown-cleartimeout-settimeout-issues] 如果我使用上述指南,当我在主菜单项之间快速悬停时,将显示下一个子菜单项,但也会显示上一个子菜单,因为它具有超时设置 我想知道是否有办法处理这件事?请帮忙给我一些提示 我把代码发到了 非常感谢尝试使用减少对意外悬停的响应。给你:一个简单的脚本 HTML只是展示一个示例。要点是添加JavaScript+jQuery,并在CSS中向每个li:hover添加一个属性li.hover,如下所示:Jquery 鼠标悬停在菜单上并超时,jquery,html,css,menu,Jquery,Html,Css,Menu,我有多级菜单,当我将鼠标悬停在一个菜单项上时,如果该项有子菜单,它将显示子菜单项。我认为这是一个正常的下拉菜单操作。问题是,当我将鼠标从主菜单项快速移动到子菜单项时,如果鼠标不在路径中,子菜单项将消失,我必须再次悬停以显示 我在网上搜索,找到了很多导游 [http://stackoverflow.com/questions/2316213/simple-jquery-dropdown-cleartimeout-settimeout-issues] 如果我使用上述指南,当我在主菜单项之间快速悬停时
#nav li:hover, #nav li.hover {
/* your css */
}
/*悬停超时:大菜单*/
var超时//声明超时
$'nav li'。鼠标悬停功能{//鼠标输入
clearTimeouthoverTimeout;//删除超时,我们接管控制权
$'nav li.removeClass'hover';//清除所有悬停的对象
$this.parents'li.addClass'hover';//为所有家长添加类
},函数{//鼠标离开
var$this=$this;//创建本地副本
hoverTimeout=setTimeoutfunction{
$this.parents'li.removeClass'hover';//取消悬停所有家长
},1000;//取下鼠标后1秒
};
@字符集UTF-8;
身体{
背景:aaa;
}
导航{
显示:表格行;
填充:0;
保证金:0;
边界:0;
}
导航a{
显示:块;
线高:1米;
文字装饰:无;
}
导航,李导航{
列表样式:无;
保证金:0;
填充:0;
}
导航{
位置:相对位置;
z指数:597;
*显示:内联块;
左侧填充:.75rem;
显示:表格单元格;
宽度:99%;
}
李海军{
浮动:左;
最小高度:1px;
垂直对齐:中间对齐;
}
导航李。悬停,导航李:悬停{
位置:相对位置;
z指数:599;
游标:默认值;
}
导航ul{
可见性:隐藏;
位置:绝对位置;
最高:100%;
左:0;
z指数:598;
宽度:100%;
底部:0;
左:0;
边际上限:0;
文本转换:无;
最小宽度:210px;
}
导航ul.hassubmenu>a:之后{
内容:+;
浮动:对;
宽度:10px;
文本对齐:居中;
}
nav ul.hassubmenu:hover>a:after,nav ul.hassubmenu.hover>a:after{content:-}
导航ul{
排名:0;
左:自动;
右图:-99.5%;
}
导航li.hover>ul,导航li:hover>ul{可见性:可见}
导航ul,导航{
列表样式类型:无;
左侧填充:0;
}
导航>李{
填充:.5rem;
背景:ddd;
边框:56a0d3实心2px;
边界顶部:无;
边框底部:无;
}
导航>li+li{左边框:无}
导航>李a{
颜色:000;
字号:700;
文字装饰:无;
}
nav>li:hover>a,nav>li.hover>a{opacity:1}
李国荣{
位置:相对位置;
浮动:无;
字体大小:400;
背景:fff;
背景:透明\9;
背景:hsla0,0100%,0.7;
过滤器:progid:DXImageTransform.Microsoft.gradientstartColorstr=b2ffffff,endColorstr=b2ffffff;
缩放:1;
填充物:5px10px;
}
nav ul li:n个孩子{过滤器:无}
导航ulli:hover,导航ulli.hover{background:fff}
nav ul li a{线高:1.2rem}
nav ul li:最后一个子项>a{边界半径:0 0 3px 3px}
纳维乌利乌利乌利{
背景:2000人;
背景:透明\9;
背景:rgba0,0,0,7;
过滤器:progid:DXImageTransform.Microsoft.gradientstartColorstr=b2000000,endColorstr=b2000000;
缩放:1;
边框:10px实心透明;
边框顶部:1px实心ddd;
边框底部:无;
}
导航ulli:n个孩子{过滤器:无}
nav ul li:第一个孩子{边界顶端:无}
nav ul li:最后一个孩子{边界底部:无}
nav ul li ul li li:hover,nav ul li ul li.hover{background:000}
nav ul li li li a{颜色:62a2d6}
interval函数指向一个窗口对象,而不是ul列表:谢谢你,Statno,但这只是在第一级解决的,它不能在子菜单级正确执行。你说得对。我真的不知道该怎么做,这只是一个小小的暗示。我发现了两个可能有用的链接:和。