- jquery/
- Jquery 滑动菜单问题
Jquery 滑动菜单问题
我有一个导航菜单,它的子菜单在悬停时向下滑动。菜单的结构如下所示:Jquery 滑动菜单问题,jquery,html,css,Jquery,Html,Css,我有一个导航菜单,它的子菜单在悬停时向下滑动。菜单的结构如下所示: <ul class='nav'> <li><a href='#'>About</a></li> <ul class='submenu'> <li><a href='#'>Stuff</a></li> </ul> </ul> 但是,使用这种方法,当您将鼠标从主LI上移
<ul class='nav'>
<li><a href='#'>About</a></li>
<ul class='submenu'>
<li><a href='#'>Stuff</a></li>
</ul>
</ul>
但是,使用这种方法,当您将鼠标从主LI上移开时,子菜单将折叠。我通过移除mouseout上的折叠修复了这个问题,然后为子菜单创建了mouseout事件(即:当鼠标离开子菜单时,它会折叠)。但是,在此设置中,如果您碰巧将鼠标移到主LI上,然后离开而不将鼠标移到菜单中,则子菜单将保持打开状态(显然)
我应该如何处理这一问题,使其能够正常工作,并使其优雅地降级
注意:我还尝试将ul包含在li(
- )中,但我需要将子菜单隐藏在主li图像后面,在该设置中使用z索引是不可能的。)您也应该重新构造代码以使其有效,如下所示:
<ul class='nav'> <li><a href='#'>About</a> <ul class='submenu'> <li><a href='#'>Stuff</a></li> </ul> </li> </ul>
,添加调用是为了防止动画队列累积。下面是一个示例$('ul.nav li').hover(function(){ $(this).children('.submenu').stop(true, true).slideToggle(); });
<style type="text/css"> .menucontrol a:link, .menucontrol a:active, .menucontrol a:visited { border: 1px solid orange; color: white; background-color: orange; } .menucontrol a:hover { background-color: #fff; color: #333; } .menucontrol, .menucontrol ul { margin: 0; padding: 0; list-style-type: none; list-style-position: outside; position: relative; line-height: 1.5em; } .menucontrol a:link, .menucontrol a:active, .menucontrol a:visited { display: block; padding: 0px 5px; text-decoration: none; } .menucontrol li { float: left; position: relative; } .menucontrol ul { position: absolute; width: 12em; top: 1.5em; display: none; } .menucontrol li ul a { width: 12em; float: left; } .menucontrol ul ul { top: auto; } .menucontrol li ul ul { left: 12em; margin: 0px 0 0 10px; } .menucontrol li:hover ul ul, .menucontrol li:hover ul ul ul, .menucontrol li:hover ul ul ul ul { display: none; } .menucontrol li:hover ul, .menucontrol li li:hover ul, .menucontrol li li li:hover ul, .menucontrol li li li li:hover ul { display: block; } </style> <body style="font-family: Consolas; font-size: 11px;"> <ul class="menucontrol"> <li><a href="#">1 HTML</a></li> <li><a href="#">2 CSS</a></li> <li><a href="#">3 Javascript</a> <ul> <li><a href="#">3.1 jQuery</a> <ul> <li><a href="#">3.1.1 Download</a><ul> <li><a href="#">3.1.1 Download</a><ul> <li><a href="#">3.1.1 Download</a></li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.2 Mootools</a></li> <li><a href="#">3.3 Prototype</a></li> </ul> </li> </ul>
.menucontrol a:链接,.menucontrol a:活动,.menucontrol a:已访问 { 边框:1px实心橙色; 颜色:白色; 背景颜色:橙色; } .menucontrol a:悬停 { 背景色:#fff; 颜色:#333; } .menucontrol、.menucontrol ul { 保证金:0; 填充:0; 列表样式类型:无; 列表样式位置:外部; 位置:相对位置; 线高:1.5em; } .menucontrol a:链接,.menucontrol a:活动,.menucontrol a:已访问 { 显示:块; 填充:0px 5px; 文字装饰:无; } 梅努康利先生 { 浮动:左; 位置:相对位置; } .menucontrol ul { 位置:绝对位置; 宽度:12em; 顶部:1.5em; 显示:无; } .menucontrol li ul a { 宽度:12em; 浮动:左; } .menucontrol ul { 顶部:自动; } .menucontrol li ul { 左:12em; 利润率:0px 0 10px; } .menucontrol li:悬停ul、.menucontrol li:悬停ul、.menucontrol li:悬停ul { 显示:无; } .menucontrol li:hover ul、.menucontrol li:hover ul、.menucontrol li:hover ul、.menucontrol li:hover ul { 显示:块; }
功能主菜单() { $(“.menucontrol ul”).css({display:“none”});//Opera修复 $(“.menucontrol li”).hover(函数() { $(this.find('ul:first').css({可见性:“可见”,显示:“无”).show(400); },函数() { $(this.find('ul:first').css({visibility:“hidden”}); }); } $(文档).ready(函数() { 主菜单(); });
<style type="text/css"> .menucontrol a:link, .menucontrol a:active, .menucontrol a:visited { border: 1px solid orange; color: white; background-color: orange; } .menucontrol a:hover { background-color: #fff; color: #333; } .menucontrol, .menucontrol ul { margin: 0; padding: 0; list-style-type: none; list-style-position: outside; position: relative; line-height: 1.5em; } .menucontrol a:link, .menucontrol a:active, .menucontrol a:visited { display: block; padding: 0px 5px; text-decoration: none; } .menucontrol li { float: left; position: relative; } .menucontrol ul { position: absolute; width: 12em; top: 1.5em; display: none; } .menucontrol li ul a { width: 12em; float: left; } .menucontrol ul ul { top: auto; } .menucontrol li ul ul { left: 12em; margin: 0px 0 0 10px; } .menucontrol li:hover ul ul, .menucontrol li:hover ul ul ul, .menucontrol li:hover ul ul ul ul { display: none; } .menucontrol li:hover ul, .menucontrol li li:hover ul, .menucontrol li li li:hover ul, .menucontrol li li li li:hover ul { display: block; } </style> <body style="font-family: Consolas; font-size: 11px;"> <ul class="menucontrol"> <li><a href="#">1 HTML</a></li> <li><a href="#">2 CSS</a></li> <li><a href="#">3 Javascript</a> <ul> <li><a href="#">3.1 jQuery</a> <ul> <li><a href="#">3.1.1 Download</a><ul> <li><a href="#">3.1.1 Download</a><ul> <li><a href="#">3.1.1 Download</a></li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.1.2 Tutorial</a></li> </ul> </li> <li><a href="#">3.2 Mootools</a></li> <li><a href="#">3.3 Prototype</a></li> </ul> </li> </ul>
<script type="text/javascript"> function mainmenu() { $(" .menucontrol ul ").css({ display: "none" }); // Opera Fix $(" .menucontrol li").hover(function() { $(this).find('ul:first').css({ visibility: "visible", display: "none" }).show(400); }, function() { $(this).find('ul:first').css({ visibility: "hidden" }); }); } $(document).ready(function() { mainmenu(); });
-
- Html CSS中固定的位置在边界框中? htmlcss
- Html IE8和IE9中的背景位置底部不工作 htmlcss
- Html 对框架集有任何固有的不良影响吗? html
- Html 保持a的颜色<;td>;在定义的高度/宽度限制内 htmlcss
- 隐藏和显示HTML5元素而不丢失样式 htmlgwt
- Html 文本定位在MAC和Windows上的行为不同 htmlcsswindowsmacos
- Html 垂直分隔器 htmlcss
- Html 如何制作浏览器的黑色跨距宽度? htmlcss
- Html Webkit转换在windows 8.1的chrome上不起作用 htmlcssgoogle-chrome
- Html @媒体查询看起来正常,但没有';行不通 htmlcssipad
- Html 使用Phalcon的图像资源 htmlcss
- 显示为表格单元格的HTML li不能向右浮动 htmlcss
- Html 如何将百分比与进度条放在同一行中? htmlcsstwitter-bootstrap
- Html 防止两个跨度图元重叠 htmlcss
- Html 如何使用引导顶部导航栏和侧边栏? htmlcssbootstrap-4
- Html 无法通过div获取隐藏菜单 htmlcss
- Html 仅使用CSS从路由器出口组件隐藏页脚组件? htmlcssangulartypescript
- Html Android键盘在JQuery模式输入控件中不工作 htmljquerycss
- 无法传递div中的id变量和html中的数据目标 html
- Html 如何在背景图像下放置边框? htmlcss
- NetLogo-将单个代理与多个代理进行比较(预期输入不是列表) netlogo
- Netlogo 将列表中的单个元素相乘 netlogo
- Netlogo 为什么我在这里得到的是预期的真/假,而不是a列表或块? netlogo
- 代理的NetLogo系统动力学建模器 netlogo
- 如何在netlogo中隐藏连接到特定品种的所有链接 netlogo
- 如何计算netlogo中特定实例上一组补丁上的海龟数 netlogo
- Netlogo 问:如何计算';集线器集成';/有多少链接邻居也是我的链接邻居? netlogo
- Netlogo 在行为空间中运行多个实验 netlogo
- NetLogo:如何识别最扩展的集群(补丁集群示例)? netlogo
- Netlogo 高效的CSV提取和分配 netlogo
- Netlogo 每次都让海龟等着 netlogo
- 如何在NetLogo中生成直方图? netlogo
- Netlogo 如何设置每个滴答声的死亡概率 netlogo
- Netlogo:变量有时列表有时数字,结果出错 netlogo
- Netlogo扩展API-如何提醒用户错误? netlogo
- Netlogo 为什么颜色不';海龟们没变吗? netlogo
- Netlogo 在新的模型中,如何使海龟只在白色方块中移动? netlogo
- Netlogo 加载重复项/合并变量 netlogo
- NetLogo-随机选择一组海龟,以一定的概率改变一个变量 netlogo
- Netlogo 如何使本地列表在过程中起作用? netlogo