将鼠标悬停在 Acordeon 菜单上的操作
Hover action on Acordeon menu
我正在寻找一个解决方案,如何通过将鼠标悬停在父链接上来打开和关闭手风琴?我知道我可以添加一个悬停方法,但是当我删除光标时,它总是关闭手风琴。我应该只在将鼠标悬停在另一个项目上时关闭菜单。
如果有人能给我一个提示,那就太好了!
$(document).ready(function () {
$('#nav > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#nav li ul').slideUp();
$(this).next().slideToggle();
$('#nav li a').removeClass('active');
$(this).addClass('active');
}
});
if($(".active").parent().parent().is('#nav')){
$(".active").next().slideToggle();
}else{
$(".active").parents('ul').siblings('a').click();
}
});
#nav {
float: left;
width: 280px;
}
#nav li a {
display: inline-block;
padding: 10px 15px;
text-decoration: none;
color: #000;
list-style:none;
}
#nav li a:hover, #nav li a.active {
}
#nav li ul {
display: none; // used to hide sub-menus
list-style:none;
}
#nav li ul li a {
padding: 10px 25px;
}
ul{
list-style:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="nav">
<li><a href="#" >Item 1</a>
<ul>
<li><a href="#" class="active">Sub-Item 1 a</a></li>
<li><a href="#">Sub-Item 1 b</a></li>
<li><a href="#">Sub-Item 1 c</a></li>
</ul>
</li>
<li><a href="#">Item 2</a>
<ul>
<li><a href="#">Sub-Item 2 a</a></li>
<li><a href="#">Sub-Item 2 b</a></li>
</ul>
</li>
<li><a href="#">Item 3</a>
<ul>
<li><a href="#">Sub-Item 3 a</a></li>
<li><a href="#">Sub-Item 3 b</a></li>
<li><a href="#">Sub-Item 3 c</a></li>
<li><a href="#">Sub-Item 3 d</a></li>
</ul>
</li>
<li><a href="#">Item 4</a>
<ul>
<li><a href="#">Sub-Item 4 a</a></li>
<li><a href="#">Sub-Item 4 b</a></li>
<li><a href="#">Sub-Item 4 c</a></li>
</ul>
</li>
</ul>
这里在jsfiddle中也有同样的事情:https://jsfiddle.net/8y60hre0/8/
$(document).ready(function () {
$('#nav > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#nav li ul').slideUp();
$(this).next().slideToggle();
$('#nav li a').removeClass('active');
$(this).addClass('active');
}else{
$('#nav li a').removeClass('active');
$(this).addClass('active');
$(this).next().slideToggle();
}
});
$('#nav > li > a').hover(function(){
if ($(this).attr('class') != 'active'){
$('#nav li ul').slideUp();
$(this).next().slideToggle();
$('#nav li a').removeClass('active');
$(this).addClass('active');
}
});
if($(".active").parent().parent().is('#nav')){
$(".active").next().slideToggle();
}else{
$(".active").parents('ul').siblings('a').click();
}
});
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- jQuery菜单应保持操作模式
- 悬停菜单操作异常
- 在阻止默认操作时启用菜单的链接
- 单击选择菜单中的选项时的操作
- 选择菜单的操作中的成员2参数
- 聚合物:纸张操作对话框打开时,纸张菜单按钮不会关闭
- 具有多个操作的侧边栏菜单
- Jquery - 在一个简单的下拉菜单中操作类
- 将鼠标悬停在 Acordeon 菜单上的操作
- 对可折叠菜单中根链接的效果/操作不活动 - 只是效果 - jQuery
- Chrome扩展-修改右键单击浏览器操作菜单
- 在引导中向菜单添加操作
- Oracle Apex 5.0:当操作栏设置为不显示时,您可以使用交互式报告上的操作菜单按钮吗
- 使用JavaScript和Bootstrap分段按钮更改表单操作和下拉菜单上的输入值
- Jquery手风琴菜单(3级)如何操作
- 在数据表操作菜单中单击function
- jQueryUI按钮显示操作的子菜单
- jQuery下拉菜单CSS操作
- 运行javascript打开另一个页面的链接.如果用户使用鼠标中键单击或右键单击菜单,如何在新选项卡中进行操作