Php 突出显示活动链接
如何在单击时突出显示活动链接,但在单击其他链接之前保持主页链接突出显示 如果有帮助的话,我正在使用PHP 这是我的(x)HTML代码Php 突出显示活动链接,php,xhtml,Php,Xhtml,如何在单击时突出显示活动链接,但在单击其他链接之前保持主页链接突出显示 如果有帮助的话,我正在使用PHP 这是我的(x)HTML代码 <div id="nav"> <ul> <li><a href="http://localhost/link-1/" class="active">Link 1</a></li> <li><a href="http://localhos
<div id="nav">
<ul>
<li><a href="http://localhost/link-1/" class="active">Link 1</a></li>
<li><a href="http://localhost/link-2/">Link 2</a></li>
<li><a href="http://localhost/link-3/">Link 3</a></li>
<li><a href="http://localhost/link-4/">Link 4</a></li>
</ul>
</div>
我现在无法测试此功能,但请告诉我它是否适用于您
var menuArray = new Array();
$(function() {
$('div#nav ul li').each(function(i) {
menuArray[i] = this;
$(this).click(function() {
for (var x in menuArray)
if (x == this)
$(x).attr('class','active');
else
$(x).attr('class','inactive');
});
});
});
编辑好的,我能够测试这个,它对我有效。请记住,这需要在HTML声明之后进行
$("li a").each(function(i) {
$(this).click(function() {
$(this).attr('class','selected');
$("li a").not(this).attr('class','notselected');
});
});
您可以在php中执行一个方法,下面是一个示例:
<div id="nav">
<ul>
<li><a href="http://localhost/link-1/" <?=$activateLink($_SERVER['REQUEST_URI'],'/link-1')?>>Link 1</a></li>
<li><a href="http://localhost/link-2/" <?=$activateLink($_SERVER['REQUEST_URI'],'/link-2')?>>Link 2</a></li>
<li><a href="http://localhost/link-3/" <?=$activateLink($_SERVER['REQUEST_URI'],'/link-3')?>>Link 3</a></li>
<li><a href="http://localhost/link-4/" <?=$activateLink($_SERVER['REQUEST_URI'],'/link-4')?>>Link 4</a></li>
</ul>
</div>
<?php
function activateLink($uri,$var)
{
if($uri==$var) {
return 'class="active"';
}
}
?>
在每个页面上打印$\u SERVER['REQUEST\u URI'],并将第二个参数传递给该方法。这将完全不需要PHP,但是您可以在PHP上构建它。我将向您演示如何在HTML/CSS中构建它 在文档中尝试此CSS/HTML(在代码之前):
.主动{
颜色:#336699;
}
海军航空局{
颜色:#121212;
}
海军陆战队a组:参观{
颜色:#336699;
}
如果他们被访问过,所有的链接都应该是蓝色的,如果他们没有访问过,链接将是深灰色的。但是,如果您希望它只突出显示一个链接,那么最好使用JQuery,因为它有许多函数只选择要选择的链接
希望这能有所帮助。@Robert-当stacks要求提供服务器端解决方案(PHP)时,这是一个客户端(jQuery)解决方案。很肯定他说他在使用PHP,而不是说它必须是PHP。@Robert-我在访问的新网站上使用FF和NoScript,所以我不会看到您的方法完成了突出显示,但如果使用PHP,我会看到它。诚然,我是少数。我应该寻找什么JQuery函数?你说的“活动”是指指向用户正在查看的页面的链接吗?@Peter Ajtai是的,这就是我的意思。我来到这里并成功地使用了它,干杯。我建议将
$\u SERVER['REQUEST\u URI']
移动到该函数中,这样你就不必重复了。
<style>
.active {
color:#336699;
}
div#nav ul li a {
color:#121212;
}
div#nav ul li a:visited {
color:#336699;
}
</style>