0

提前致谢。我试图根据许多其他帖子和示例将其拼凑在一起,但似乎无法使其发挥作用。我所追求的似乎很简单:根据加载的页面是否在网站上的特定目录中显示和隐藏特定的 div。因此,例如,我希望 about-nav-on div 随时显示我网站上 /about 目录中的文件:www.mysite.com/about/about-us.html。

下面是我的脚本,但它什么也没做。您可能会猜到,其他 div 是我导航中的其他菜单项,其中 -on 是突出显示相应菜单项的那些。所以在下面的例子中,只有“关闭”的 div 显示,其他的都是隐藏的,除了最后一种情况,这是我要突出显示的,因为这个页面在 /about 目录中。

再次,提前感谢。并且要温柔。

$(document).ready(function() {
    if (location.pathname.split("/")[1] == 'about' ) {
        $('#nav-home').show();
        $('#nav-home-on').hide();
        $('#nav-believe').show();
        $('#nav-believe-on').hide();
        $('#nav-schedule').show();
        $('#nav-schedule-on').hide();
        $('#nav-directions').show();
        $('#nav-directions-on').hide();
        $('#nav-about').hide();
        $('#nav-about-on').show();
    }
});

哦,还有 PS:我还需要为根目录中的任何页面显示 nav-home-on div;那么我将如何解析该 URL?

DD

4

1 回答 1

0

经过更多的研究和修改,我发现以下内容适用于我的问题的第一部分,尽管我不确定这个“if”语句在简单的英语中是如何发音的:

$(document).ready(function(){  
    if(window.location.href.indexOf("believe") > -1) {
       $('#nav-home').show();
       $('#nav-home-on').hide();
       $('#nav-believe').hide();
       $('#nav-believe-on').show();
       $('#nav-schedule').show();
       $('#nav-schedule-on').hide();
       $('#nav-directions').show();
       $('#nav-directions-on').hide();
       $('#nav-about').show();
       $('#nav-about-on').hide();
    }
 });

不过,如果我正在加载的文件位于根目录中,仍然可以使用有关如何显示/隐藏 div 的帮助。现在,我只是在使用:

        $(window).load(function(){  
        $('#nav-home').hide();
        $('#nav-home-on').show();
    }

在主页上的脚本中。但我想在 .js 文件中找到一种方法来执行此操作。

于 2013-04-26T16:21:20.797 回答