我在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");
}
})});
答案 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>