目的:若页面内容是当前页面,就对导航栏的锚点文字应用"current"样式不知PHP中应该怎么写?用图片描述我要的效果可能更清楚直观点:
我要实现的效果是: 用户鼠标点击“小游戏”页面,导航栏上就成这个样子:点击“博客”时,则成这样:已经想到的逻辑:我的网站导航栏是用的一个公共文件:head.php,里面已经写好了所有的导航栏,网站的每个页面都要引用它。 我给网站的每个页面都赋值一个页面id,然后在公共文件“head.php”中获取这个页面id,当这个id和页面相符时,就给相应的导航加上背景色。
我要实现的效果是: 用户鼠标点击“小游戏”页面,导航栏上就成这个样子:点击“博客”时,则成这样:已经想到的逻辑:我的网站导航栏是用的一个公共文件:head.php,里面已经写好了所有的导航栏,网站的每个页面都要引用它。 我给网站的每个页面都赋值一个页面id,然后在公共文件“head.php”中获取这个页面id,当这个id和页面相符时,就给相应的导航加上背景色。
<?php
echo "<style>." & page_id & " {color:red; /*这里是具体的current样式*/}</style>";
?>然后每个导航栏:
<ul id="navmenu">
<li class="101"><a href="../">HOME</a></li>
<li class="102"><a href="../co">About</a></li>
</ul>但是那段预制样式的写法调试半天不知怎么写才正确。那是ASP的写法
准备两个class,分别不同的css,PHP设置一下class就行了。
<script>
function init(){
var es=document.getElementById('demo').getElementsByTagName('li');
var e=null,len=es.length;
for(var i=0;i<len;i++){
e=es[i];
e.onclick=function(){
for(var j=0;j<len;j++){
if(es[j].id==this.id) es[j].className='current';
else es[j].className='';
}
}
}
}
window.onload=init;
</script>
<style> .navmenu li{
float:left;
width:40px;
margin-left:40px;
text-decoration:none;
}
.navmenu li a{
text-decoration:none;
} .current a{
color:red;
tex
}
</style>
<ul class="navmenu" id="demo">
<li class="current" id="home"><a href="#">HOME</a></li>
<li class="" id='about'><a href="#">About</a></li>
<li class="" id='contact'><a href="#">Contact</a></li>
</ul>
你这仅仅实现了手动指定当前HOME样式。这个还真与PHP有关系,等我实现后,把代码写出来,比你这实例的实现语句条数至少少90%
2,以上的每个页面,都要包含一个外部导航栏文件:h.php。
----以上两句的PHP代码如下:
<?php
$page_id=101;
require("inc/h.php");
?>3,在h.php文件中,定义一个的样式,其名称用变量定义,写法如下:
<style>
<?php
echo <<<CSS
style$page_id
{
background:url(../imgs/nav_bg1.gif) no-repeat 0 0;
font-weight:bold;
color:#fff;
}
CSS;
?>
</style>4,在h.php的页面导航栏,如下写:
<ul>
<li class="style101"><a href="home.php">Home</a></li>
<li class="style102"><a href="about.php">About</a></li>
<li class="style103"><a href="help.php">Help</a></li>
</ul>====实现了目的:不同的页面,<li>内获得的class名称不一样,自然也就实现了楼主之前图片描述的需求!-------------楼上几位说我这种实现逻辑比你们引入神码插件,无论是效率上还是代码精简度上是不是简单好几公里???此帖结贴。无满意答复,基本全是来耍嘴皮子的,没人有资格得分!!!
谢谢指教,你的知识确实丰富,可惜过于固化:我从一开始就说了自己的这种逻辑,并没有要引入插件,只是求一写法而已,是你们没有好好了解需求,就自作主张,而且明显带有“讥讽”意味,太不能容人了,不知道你们为啥这样子,之前我在ASP那边请教过多次问题,还没有遇到一次类似PHP这边的这些人的情况的。另外,要是你直接用<a href='xxxx'>首页</a>都能实现我要的效果,那我真的要请你赶紧这样实现,今年的诺贝尔将专门为你设计一个奖项。
至于什么php 就怎么 asp 就怎么 那么你去看看是不是php都这样,还是你碰到了这样.俗话说 一个巴掌拍不响.