【发布时间】:2014-08-05 03:23:58
【问题描述】:
我有一个简单的 CSS 驱动的下拉菜单。我正在使用 jQuery 通过“单击”或“悬停”来切换下拉菜单。但是,如果单击“菜单”两次(显示,然后再次隐藏),悬停状态变为禁用。在这种情况下,有人知道使用悬停状态返回切换的方法吗?
非常感谢!
HTML
<ul class="menu">
<li> <a class="trigger">MENU</a>
<ul class="dropdown">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
</li>
</ul>
CSS
.menu, .menu ul {
list-style:none;
cursor:pointer;
margin:0;
padding:0;
}
.menu a {
float:left;
text-decoration:none;
color:#000;
}
.menu li:hover > a {
color:#666;
}
.menu ul {
opacity:0;
visibility:hidden;
position:absolute;
top:25px;
z-index:1;
background:#666;
}
.menu li:hover > ul {
opacity:1;
visibility:visible;
}
.menu ul a {
padding:5px;
display:block;
text-transform:none;
}
.menu ul a:hover {
background-color:lightgray;
}
jQuery
$('.trigger').on("click hover", function() {
$('.dropdown').toggle();
});
【问题讨论】:
-
这很奇怪,它似乎无论如何都应该工作