我在 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/