2013-04-24 139 views
0

在此先感谢。我试图根据许多其他帖子和示例将它们组合在一起,但似乎无法使其发挥作用。我之后看起来非常简单:显示并隐藏特定的div,具体取决于加载的页面是否位于网站上的特定目录中。因此,例如,我希望 about-nav-on div随时显示文件位于我的网站上的/ about目录中:www.mysite.com/about/about-us.html。根据路径显示和隐藏div

下面是我的脚本,但它没有做任何事情。您可能会猜到,其他div是我的导航中的其他菜单项,它们是突出显示相应菜单项的菜单项。所以在下面的例子中,只有“关闭”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(); 
    } 
}); 

哦,和P.S .:我还需要在根目录下的任何页面都有nav-home-on div显示;那么我将如何解析该URL?

DD

+0

啊。谢谢,埃里克;看起来更好。 – 2013-04-24 16:31:44

回答

0

更多的研究和修修补补之后,我发现我的问题的第一部分,下面的工作,虽然我不知道这是怎样的“如果”句话听起来简单的英语:

$(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文件中执行此操作。