javascript - 在 php 中导航,焦点问题

标签 javascript php css drop-down-menu menu

我在 html 站点中有一个 CSS 菜单:

<div id='cssmenu'>
   <ul>
      <li class='active'><a href='index.php'><i class="fa fa-home"></i></a></li>
      <li><a href='about.php'>About</a>
          <ul>
              <li><a href='#'>Me</a></li>
              <li><a href='#'>Compeny</a></li>
          </ul>
      </li>
      <li><a href='#'>Contact</a></li>
   </ul>
</div>

现在我将该 html 文件转换为 php 并命名为“NAVEGATION.PHP”,然后将此文件包含到所有文件中。
问题是焦点(类:事件)停留在“主页”按钮上。
我希望当我改变页面时,菜单的焦点是根据页面。
我也尝试了 JavaScript,但它对我不起作用:

$(function () {
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$(".cssmenu ul li").each(function () {
    if ($(this).attr("href") == pgurl) {
        $(this).parent().addClass('active');
    }
    if ((($(this).attr("href") == 'index.php')||($(this).attr("href") == '')) && (pgurl == '')) {
        $(this).parent().addClass("active");
    }
})});

最佳答案

您可以使用 $_SERVER['PHP_SELF'] 获取当前路径,basename , 将从路径中提取文件名,然后您可以简单地与菜单上的链接进行比较

<div id='cssmenu'>
     <ul>
            <li <?php echo (basename($_SERVER['PHP_SELF']) == 'index.php') ? 'class="active"' : ''; ?>><a href='index.php'><i class="fa fa-home"></i></a></li>
            <li <?php echo (basename($_SERVER['PHP_SELF']) == 'about.php') ? 'class="active"' : ''; ?>><a href='about.php'>About</a>
                    <ul>
                            <li><a href='#'>Me</a></li>
                            <li><a href='#'>Compeny</a></li>
                    </ul>
            </li>
            <li><a href='#'>Contact</a></li>
     </ul>
</div>

关于javascript - 在 php 中导航,焦点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31309347/

相关文章:

html - 显示 :table 的 Chrome 问题

css - 如何将div放在居中的div css旁边

javascript - Paypal 作为布伦特里的次要支付选项

javascript - JavaScript 中全局对象的困惑

php - 数据库查询的MySQLi错误

php - 根据上下文对 MySQL 结果进行排序

php - 我的 pdo 登录功能需要帮助

javascript - Angular js : 3 nested ng-repeat table representation

javascript - 如何在 Typescript 中使用枚举键定义散列

css - Jeet Grid 与奇点