点击标题时,我需要根据您当前所在的站点来更改“活动”类。
我已经看过一些使用php检查是否在“ noten.php”页面上的示例,它将相应地将navbar类更改为active,还检查了一些类似
的Javascript$('.navbar-nav .nav-link').click(function(){
$('.navbar-nav .nav-item').removeClass('active');
$(this).addClass('active');
}) 但没有任何作用
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="/">Projekt</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/">Startseite</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/noten.php">Noten</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Soon</a>
</li>
</ul>
答案 0 :(得分:0)
我们对您的PHP逻辑了解不多,但是实现可能非常简单:
<?php
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);
?>
<li class="nav-item <?php echo 'active page-' . $uri_segments[0]; ?>">
<a class="nav-link" href="/">Startseite</a>
</li>
对于网址http://foobar/first/second
,将添加类page-first
。
答案 1 :(得分:0)
我找到了方法。
将其添加到标题的顶部
<?php
$pg = basename(substr($_SERVER['PHP_SELF'],0,strrpos($_SERVER['PHP_SELF'],'.'))); // get file name from url and strip extension
?>
,然后将其添加到导航栏本身
<li class="nav-item <?php if($pg=='index'){?>active<?php }?>">
<a class="nav-link" href="/">Startseite</a>
</li>