【发布时间】:2016-02-03 02:54:20
【问题描述】:
我正在构建一个侧边栏导航,用于跟踪您在网站上的位置。我有一个下拉菜单,当您将鼠标悬停在它上面时会展开。我希望导航栏中的链接突出显示以指示您在哪个页面上。我让它适用于父页面,但是如果您将鼠标悬停在下拉菜单上并选择一个子链接,则该链接不会突出显示并且不会自动展开菜单以显示您在该页面上。
我把我的代码放在 JSfiddle 中。 https://jsfiddle.net/6wrn5hgg/2/
这里是我正在使用的代码的快速浏览。
//Highlight current page
$(function() {
$('a').each(function() {
if ($(this).prop('href') == window.location.href) {
$(this).addClass('current');
}
});
});
//subbar menu drop down
$(document).ready(function() {
$('li.parent').hover(function() {
$(this).siblings().find('.subnav').slideUp();
$(this).children('.subnav').slideDown();
if ($(this).children('.subnav').slideDown() == window.location.href) {
$(this).addClass('current').slideDown();
}
});
});
如何使菜单显示红色背景并自动展开导航?
【问题讨论】:
-
你所有的
<a >标签只有href#。 -
我只是这样做,因为我没有任何地方可以在 jsfiddle 中将其链接到。它需要实际链接才能工作吗?
-
window.location.href 会给你绝对路径。所以你要么需要把绝对路径作为href,要么你需要在window.location.href中找到href的索引。这是一个例子:jsfiddle.net/DinoMyte/6wrn5hgg/3
标签: javascript jquery navbar