【问题标题】:Help with generating ID for active menu item帮助生成活动菜单项的 ID
【发布时间】:2013-12-29 17:44:53
【问题描述】:

有人可以指出如何使用 PHP 或 JS 动态填充菜单 ID 的正确方向吗?

我当前的菜单项代码是:

<li>
  <a href="contact-us.php" class="mainlevel-nav" id="active_menu-nav" name="active_menu-nav">Contact us</a>
</li>

id="active_menu-nav" 通过 CSS 以不同颜色显示活动菜单项。

我的问题是,每当我必须更改菜单时,我都必须编辑网站的每个页面,因为网站的其他部分,如页脚,都是由 PHP 完成的,包括相同在每一页上。

那么有没有办法可以自动填充id="active_menu-nav",也许是通过使用URL?例如:

if URL is example.com/conctact-us.php then id="active_menu-nav" else id=""

希望这是有道理的,我的最终结果是将菜单代码放在一个文件中,该文件可以包含在网站的每个页面上。

【问题讨论】:

    标签: php javascript navigation menu


    【解决方案1】:

    如果您尝试将菜单格式化为活动/正常,您应该为其分配一个类,这样它总是可以由 ID 唯一标识,如果您愿意,可以使用 jQuery 的 hasClass() 来查看如果它被选中(如果你有任何需要它的 Javascript)。

    要判断 URL 是否为“contact-us.php”,您可以查看 $_SERVER[REQUEST_URI] 并在每个 id 或类(无论您最终使用什么)中都可以使用(未​​经测试):

    class="&lt;?php echo ($_SERVER[REQUEST_URI] == '/contact-us.php'? 'active_menu-nav':''); ?&gt;"

    这样每个链接都可以检查您是否导航到该页面,如果有,它会将类设置为 active_menu-nav 类并应用适当的 CSS 规则。

    但是,您应该像页脚和页眉一样将导航栏用作网站的包含,这样您就不必浏览每个页面并更改所有内容。

    【讨论】:

    • 这正是我试图做的,经过测试并且完美运行!非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多