0

好的,首先,我不精通 JS 或 PHP。我通常可以改变现有的脚本来做我想做的事,但不能从头开始写东西。我在这个例子中提到的任何 URL 都是虚构的。

考虑到这一点,我正在使用一个包含 CSS、PHP 和 JS 的模板来设计一个页面,所有这些我都真正修改过。每个页面都有一个页眉、一个导航栏和一个页脚,它们通过 include 语句调用。我理解那部分。但是,在其中一个页面上,我想要一个不同的导航栏,它不会改变。

我注意到了什么: JS 似乎将点击的 URL 从http://www.example.com/test.php更改为http://www.example.com/#test.php

这样做的目的是什么?另外...如果我在需要新导航栏的页面上手动删除 URL 中的主题标签,则会显示新导航栏!但是,如果我切换页面,它将使 URL 的结尾像 ...test.php#newpage.php

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

任何帮助,将不胜感激。

好的,这是 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。在做一些阅读时,我得出的结论是,标签的存在只是为了让脚本可以判断哪个页面处于活动状态,以便 CSS 突出显示导航栏中的项目之一。它还与导航页面时显示的动画 gif 有关。这些项目中的任何一个都不足以让我拉出更多的头发试图弄清楚这些东西:D 谢谢你的建议,不过!*

4

1 回答 1

0

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

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

于 2012-12-04T22:13:46.863 回答