导航栏看起来与我自己的不完全相同,因为我有背景图像等 - 但是导航栏本身可以完美地工作,即使在 jsfiddle 上它看起来有点时髦。
我遇到的问题是,每当我在页面上时,我的视觉标记在 jsFiddle 上都看不到,或者根本看不到,因为我无法点击其他页面)。我可以让视觉标记在我点击的特定页面上工作,但仅限于那个特定的点击,我想要实现的是一个视觉标记,无论你在哪里深入页面(无论是 ul li a 还是 ul li > ul li a 甚至 ul li > ul li > ul li a)。例如。
(需要查看 Jsfiddle 才能理解我在说什么)如果我将鼠标悬停在“Web”上,则会出现一个下拉菜单。然后我继续下到“Web-215”,那里有另一个下拉列表,我决定要导航到“jQuery”页面。
当前发生的是:当我单击“jQuery”时,该单个项目被赋予了“当前”的 ID。这改变了外观。但它只针对那个单一的项目。
我想要它做的是:如果我只点击“Web”,它会将属性添加到“Web”,但如果我点击“Web > Web-215”或该文件夹中的任何内容 - 然后它将突出显示 Web 和网络 215。而且 - 如果我单击“jQuery”,它是“Web-215”的第三级 li,那么所有三个都将选择属性“当前”。我应该选择不同的路径或链接,它应该遵循这些规则。
我不确定我需要去哪里,但这里是一个活生生的例子:http: //jsfiddle.net/knvH4/2/
这就是我认为某个地方的问题在于 jsfiddle 的 javascript 中的第 16 行
function youAreHere() {
var pathName = $(location).attr('pathname');
var curPage = pathName.substring(pathName.lastIndexOf('/') + 1);
$('a').each(function () {
if ($(this).attr('href') == curPage) {
$(this).attr('id', 'current');
} else if (curPage == '') {
$('a:first').attr('id', 'current');
}
}); //END function
我需要做什么才能做到这一点,以便所有人都将被赋予“当前”的(或id)属性,而不仅仅是一个。