【问题标题】:Would like a different nav menu on one specific page... not working想要一个特定页面上的不同导航菜单...不工作
【发布时间】:2012-12-04 22:01:40
【问题描述】:

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

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

我注意到: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 谢谢你的建议,不过! *

【问题讨论】:

  • 如果您发布代码的相关示例会有所帮助。
  • 这个肯定需要一些示例代码
  • 用你需要帮助/思考问题所在的代码块更新你的帖子
  • 问题是,我不知道是哪一部分将 # 添加到 URL 中,或者甚至首先将其添加到那里的目的,所以我应该只发布整个脚本吗?如果这样会更好,我可以通过电子邮件将文件发送给某人......

标签: php javascript navigation hashtag


【解决方案1】:

很可能会添加井号标签,因为您单击的链接的 href 值为 #。

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

【讨论】:

  • 该页面似乎也不会调用不同的头文件。我做了一个不调用javascript的不同的,但它仍然调用其他页面上的那个。我什至已经在该页面上完全删除了包含,并且只是添加了标题和导航的代码,只要 # 在 URL 中,它仍然无法工作。
猜你喜欢
  • 2017-02-25
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多