0

相关页面示例 - http://brettcolephotography.com/search.html

此页面 - “搜索” - 是我的顶级菜单中“库”下的下拉项目。

我正在使用这个片段来突出显示当前的导航项目,并且效果很好(感谢乔!)

$(document).ready(function(){
    var loc = window.location.href.replace(window.location.hash, '');
    $('#bcp-nav a').each(function(index) {
        if(this.href.trim() == loc)
            $(this).addClass("selected");
    });
});

我还使用 Dynamic Drive 中流行的anylink js菜单脚本来驱动导航下拉菜单。

我想将当前突出显示的状态传递给子菜单中的项目,这样在这种情况下,当您在此搜索页面上时,“库”topnav 项目将被突出显示。我想实现一个结构,以便我可以应用于所有类似的情况。

此示例的菜单内容文件代码

var anylinkmenuLIBRARY={divclass:'anylinkmenu', inlinestyle:'', linktarget:''} //Second menu variable. Same precaution.
anylinkmenuLIBRARY.items=[

    ["galleries", "http://brettcole.photoshelter.com/gallery-list"],
    ["search", "http://brettcolephotography.com/search.html"],
    ["advanced search", "http://brettcole.photoshelter.com/search-page"],
    ["lightbox", "http://brettcolephotography.com/lightbox.html"]
     //no comma following last entry!
]

并且它挂钩到相应的 li,在这种情况下

<li><a href="http://brettcole.photoshelter.com/gallery-list" class="menuanchorclass" rel="anylinkmenuLIBRARY">library</a></li>

非常感谢!

4

1 回答 1

0

这应该有助于:

menucontents.js更改中进行以下更改:

anylinkmenuINDIA={divclass:'anylinkmenu'
// to
anylinkmenuINDIA={divclass:'anylinkmenuINDIA'

anylinkmenuPROJECTS={divclass:'anylinkmenu'
// to
anylinkmenuPROJECTS={divclass:'anylinkmenuPROJECTS'

等等。基本上,使divclass对象名称相同。然后更新anylinkmenu.css,以便您的新类将正确设置样式。第 14 行将变为:

.anylinkmenuINDIA, .anylinkmenuPROJECTS, /* your other classes here */ {

然后你可以使用这个:

$(document).ready(function () {
    var loc = window.location.href.replace(window.location.hash, '');
    $('#bcp-nav a, div[class^="anylinkmenu"] a').each(function (index) {
        if (this.href.trim() == loc) {
            var linkClass = $(this).closest('div').get(0).className;
            if (linkClass.indexOf("anylinkmenu") > -1) {
                $('#bcp-nav a[rel="' + linkClass + '"]').addClass("selected");
            }
            $(this).addClass("selected");
        }
    });
});

现在已在您的站点上进行了测试和工作。

于 2013-06-09T20:15:42.233 回答