想要在一个特定页面上使用不同的导航菜单......不起作用

时间:2012-12-04 22:01:41

标签: php javascript navigation hashtag

好的,首先,我不熟悉JS或PHP。我通常可以改变现有的脚本来做我想做的事情,但不要从头开始写东西。我在这个例子中提到的任何网址都已编写完成。

考虑到这一点,我正在使用包含CSS,PHP和JS的模板设计页面,所有这些都是我真正修改过的。每个页面都有一个标题,一个导航栏和一个使用include语句调用的页脚。我明白那一部分。但是,在页面的 ONE 上,我希望有一个不同的导航栏,它不会改变。

我注意到:JS似乎更改了点击的网址,比如http://www.example.com/test.php更改为http://www.example.com/#test.php

那是什么目的?另外......如果我手动取出我想要新导航栏的页面上URL中的#标签,新的导航栏会显示!但是,如果我切换页面,它会使URL的结尾像... test.php #newpage.php

所以我要么弄清楚如何修改这个以不将#html标签放入URL中(但如果有令人信服的理由,当然,它可以保留),或者如何让一个页面显示备用导航栏。备用导航栏是一个目录,因此html中包含用于将用户引导到页面特定部分的主题标签... html中的那些主题标签是否会以某种方式发生冲突,这就是它不会显示的原因,要么??? GAH!

任何帮助都将不胜感激。

好的,这是javascript的一部分...它是唯一一个看起来像是在URL中引用#的部分:

    var $fadeWrapper = $("#fade-wrapper"),
    $allNav = $("#main-nav a"),
    $allListItems = $("#main-nav li"),
    url = '',
    liClass = '',
    hash = window.location.hash,
    $ajaxLoader = $("#ajax-loader");

$("body").attr("id", "");    

if (hash) {
    hash = hash.substring(1);
    liClass = hash.substring(0,hash.length-4);
    url = hash + " #inside-content";
    $fadeWrapper.load(url);
    $("." + liClass).addClass("active");
} else {
    $("#main-nav li:first").addClass("active");
}

* 更新:我决定完全删除javascript。在做一些阅读时,我得出的结论是,hashtag就在那里,脚本可以告诉哪个页面是活动的,以便CSS突出显示导航栏中的一个项目。它还与您在导航页面时显示的动画gif有关。这些物品中的任何一个都不够重要,我可以把更多的头发拉出来试图弄清楚这些东西:D谢谢你的建议! *

1 个答案:

答案 0 :(得分:0)

最有可能添加哈希标记,因为您单击的链接的href值为#。

你不能只创建一个新的头文件(如果那是导航栏代码所在的位置),在该头文件中修改导航栏的方式,并在你所在页面上包含新文件而不是当前标题想要不同的导航栏?