我在header.php中有以下代码:
<?php
$page = "";
?>
<ul class="nav navbar-nav navbar-right nav-pos">
<li <?php if ($page == "home") { ?> class="active"<?php } ?>><a href="home.php">Home</a></li>
<li <?php if($page == 'about') { ?> class="active"<?php } ?>><a href="aboutus.php">About us</a></li>
<li <?php if($page == 'contact'){ ?> class="active"<?php } ?>><a href="contactus.php">Contact us</a></li>
<li class="hidden-xs"><a href="#search"><i class="fa fa-search fa-rotate-90"></i></a></li>
</ul>
在每页上我都输入此代码(名称更改取决于当前页面):
<?php include 'header.php';
$page = 'about' ?>
在CSS中,我做到了:
.active{color:red }
但是它不起作用...为什么不知道?
谢谢您的时间,我真的很感激
答案 0 :(得分:0)
首先,您应该从标题中删除public class ApiRequestBuilder<T> {
protected string Url => Uri?.AbsoluteUri;
protected Uri Uri;
static HttpClient Client = new HttpClient() {
//Set timeout so replicating this issue itn't a pain
Timeout = TimeSpan.FromSeconds(5)
};
public ApiRequestBuilder(string url) {
Uri = new Uri(url);
}
public async Task<T> GetAsync() {
var response = await Client.GetAsync(this.Url);
var result = await response.Content.ReadAsAsync<T>();
return result;
}
}
$page = "";
每页第二个交换这两行
<?php
$page = "";//remove this line in header file
?>
<ul class="nav navbar-nav navbar-right nav-pos">
一些详细信息:在加载标头时,<?php
$page = 'about';//swap these lines
include 'header.php' ;
?>
为空,并且您的条件在$page
标记中为假。因此,在加载标头之前,您应该将值分配给li
最佳方法::您应该使用$page
而不是硬编码的$_SERVER['REQUEST_URI']
。示例:
$page
答案 1 :(得分:0)
问题在于,您在header.php
中明确设置了$page = ""
-这意味着$page == 'about'
(等)的所有检查都没有通过。
尽管您确实在主脚本中设置了$page = 'about'
,但这是在header.php
中的代码运行并产生了html输出之后。
解决方案很简单:
1)从$page = ""
移除header.php
2)在包含之前 设置$page = "about"
(或等效设置)
答案 2 :(得分:0)
您只需使用jQuery,只需在页脚部分添加此脚本即可。
$(document).ready(function() {
// get current URL path and assign 'active' class
var pathname = window.location.pathname;
$('.nav > li > a[href="'+pathname+'"]').parent().addClass('active');
});
在您的情况下,这将起作用。
$(function(){
var current = location.pathname;
$('.nav li a').each(function(){
var $this = $(this);
// if the current path is like this link, make it active
if($this.attr('href').indexOf(current) !== -1){
$this.addClass('active');
}
})
});