javascript - 使用一张站点地图突出显示当前页面

标签 javascript php jquery html css

我有一个 sitemap.php,每个页面上都包含“<?php include 'sitemap.php'; ?> ”。在我做这个之前,我在每个 HTML 或 PHP 网站上都有这个站点地图。

现在:我想保留这个单个 php 文件,但是,如果用户单击链接,他将被重定向到的该网站现在应该突出显示。简而言之:突出显示当前页面,但使用一个站点地图文件。

我的 CSS 突出显示:

li.active {
  color: #fff;
}

我想你们都知道站点地图的样子:

               <ul class="nav nav-menu">
                  <li><a href="channel.php">
                      <div class="nav-menu__ico"><i class="fa fa-fw fa-comment"></i></div>
                      <div class="nav-menu__text"><span>Channel</span></div></a></li>
                  <li><a href="products.html">
                      <div class="nav-menu__ico"><i class="fa fa-fw fa-users"></i></div>
                      <div class="nav-menu__text"><span>Groups</span></div></a></li>
                  <li><a href="groups.php">
                      <div class="nav-menu__ico"><i class="fa fa-fw fa-bars"></i></div>
                      <div class="nav-menu__text"><span>Ranking</span></div></a></li>
                  <li><a href="users.html">
                      <div class="nav-menu__ico"><i class="fa fa-fw fa-user"></i></div>
                      <div class="nav-menu__text"><span>Users</span></div></a></li>
                </ul>

我想这必须用 JS/jQuery/PHP 来完成,但我真的不知道怎么做。

最佳答案

一旦页面准备好,您就可以获取没有标题或尾随部分的 url 页面。您可以使用新类标记最接近的元素:

$(function () {
  var pageUrl = window.location.pathname.split('/').pop();
  $('a[href="' + pageUrl + '"]').closest('li').addClass('active');
});
li.active {
  color: #ffff00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<ul class="nav nav-menu">
    <li><a href="channel.php">
        <div class="nav-menu__ico"><i class="fa fa-fw fa-comment"></i></div>
        <div class="nav-menu__text"><span>Channel</span></div></a></li>
    <li><a href="products.html">
        <div class="nav-menu__ico"><i class="fa fa-fw fa-users"></i></div>
        <div class="nav-menu__text"><span>Groups</span></div></a></li>
    <li><a href="groups.php">
        <div class="nav-menu__ico"><i class="fa fa-fw fa-bars"></i></div>
        <div class="nav-menu__text"><span>Ranking</span></div></a></li>
    <li><a href="users.html">
        <div class="nav-menu__ico"><i class="fa fa-fw fa-user"></i></div>
        <div class="nav-menu__text"><span>Users</span></div></a></li>
</ul>

关于javascript - 使用一张站点地图突出显示当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38030390/

相关文章:

jquery - 如何让我的全宽 jQuery 图像推子响应?

javascript - 使用 JQuery 从本地 url 解析 JSON

javascript - jQuery .css() 函数和位置 : fixed table 出现问题

javascript - 无法通过 Ajax 将 Javascript 数组传递给 PHP

php - 使用 PHP 将数据库结构插入 MySQL?

php - 当订单状态从待处理变为已取消时发送电子邮件通知

javascript - 使用揭示模块模式从动态元素获取元素 ID

javascript - 使用 JavaScript react 将 python 时间戳转换为分钟

javascript - 使用 FCM 在前台为浏览器中的每个选项卡接收一个通知

php - 如何在 laravel Eloquent 中将 int 转换为字符串?