下拉悬停状态
HTML:
<ul class="dropdown">
<li><a href="#">Item 1</a></li>
<li>
<a href="#">Item 2</a>
<div class="submenu">something</div>
</li>
</ul>
jQuery:
$j("ul.dropdown li").hover(function () {
$j(this).addClass("hover");
$j('div.submenu', this).css('visibility', 'visible').hover(function () {
$j(this).prev('a').addClass('hover');
}, function () {
$j(this).prev('a').removeClass('hover');
});
}, function () {
$j(this).removeClass("hover");
$j('div.submenu', this).css('visibility', 'hidden');
});
... 菜单工作正常,但导航链接(打开下拉菜单)在下拉菜单上时应保持突出显示。当链接和子菜单打开时,如何保持它们的悬停状态?
谢谢!
HTML:
<ul class="dropdown">
<li><a href="#">Item 1</a></li>
<li>
<a href="#">Item 2</a>
<div class="submenu">something</div>
</li>
</ul>
jQuery:
$j("ul.dropdown li").hover(function () {
$j(this).addClass("hover");
$j('div.submenu', this).css('visibility', 'visible').hover(function () {
$j(this).prev('a').addClass('hover');
}, function () {
$j(this).prev('a').removeClass('hover');
});
}, function () {
$j(this).removeClass("hover");
$j('div.submenu', this).css('visibility', 'hidden');
});
... the menu works fine, but the navigation link (that opens the dropdown) should stay highlighted when on the dropped-down menu. How do I maintain hover state on both the link and the submenu when they're open?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试这样的操作:
如果您没有明确需要
visibility
并且display
可以工作,您可以这样做:Try something like this:
If you don't explicitly need
visibility
anddisplay
will work, you can do this:如果您使用
visibility:hidden
而不是display:none
,页面将保留该元素应占据的视觉空间,这通常不是嵌套元素所需要的。菜单如果
可见性
是你想要的,请忽略我。否则,这里有一个使用display
的替代方案(使层次结构中的每个选定项目突出显示,这似乎就是您的问题所要求的):Style
HTML
jQuery
If you use
visibility: hidden
instead ofdisplay: none
, the page will reserve the visual space that the element should occupy, which typically isn't what is desired with a nested menuIf
visibility
is what you want, ignore me. Otherwise, here's an alternative that usesdisplay
(that keeps each selected item in the hierarchy highlighted, which seemed to be what your question was asking for):Style
HTML
jQuery