导航在PHP,焦点的麻烦

时间:2015-07-09 06:03:42

标签: 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并命名为&#34; NAVEGATION.PHP&#34;然后我将这个文件包含在所有文件中 问题是焦点(类:主动)停留在&#34; Home&#34;按钮。
我希望当我更改页面时,菜单的焦点是根据页面 我也尝试使用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");
    }
})});

1 个答案:

答案 0 :(得分:1)

您可以使用$_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>