<style>
a.select{color:#F00};/*选中的样式*/
</style>
<script>
function left_btn(n)
{
var a_num=document.getElementById("left_btn_box").getElementsByTagName("a");
for(i=0;i<a_num.length;i++)
{
a_num[i].className=i==n?"select":"";
  }
}
</script>
<div  id="left_btn_box">
     <a  class="select" onclick="left_btn(0)" href="#">按钮1</a>
     <a  onclick="left_btn(1)" href="#">按钮2</a>
     <a  onclick="left_btn(2)" href="#">按钮3</a>
</div>上面的可以直接粘帖看效果
这个是小弟在网上找的一个,效果很好,我想用他,但是移植以后,发现一个致命的问题,按钮的href只能为#,别的页就歇菜了。$sqlpt="SELECT * FROM `menu` WHERE Open=1 AND LevelParentID=".$ID;
$resultpt=mysql_query($sqlpt);
echo"<div  id='left_btn_box'>";
echo"<a  class='select' onclick='left_btn(0)' href='#'>111</a>";
$i=1;
while($row=mysql_fetch_array($resultpt,MYSQL_ASSOC))
echo"<div class='pt'><a onclick='left_btn(".($i++).")' href='other.php?LevelID=".$row['LevelParentID']."&EID=".$row['LevelID']."' target='_self' >".$row['Name']."</a></div>";
echo"</div>";这是我的代码,切换不同页只能显示在我做的111那个连接上,愁死了,那个111的连接我是因为我的连接是循环出来的,所以要让只有一个<a>拥有class select属性,所以做了111的连接来应付。
希望大家可以帮忙看下

解决方案 »

  1.   

    href有地址,点了 链接就要到其它页面去了,其它页面也是
    <a  class='select' onclick='left_btn(0)' href='#'>111</a>
    <a  class='select' onclick='left_btn(0)' href='#'>111</a>

    这种结构吗,也就是说链接指向的是同一个页面,只是参数不同,数据的过滤条件不同,是这样吗?
      

  2.   


    <div  id='left_btn_box'>
    <a  class='select' onclick='left_btn(0)' href='#'>111</a>
    <div class='pt'>
    <a class='select' onclick='left_btn(1)' href='other.php?LevelID=2&EID=10' target='_self' >PPTV</a></div>
    <div class='pt'>
    <a class='select' onclick='left_btn(2)' href='other.php?LevelID=2&EID=11' target='_self' >企建教育</a>
    </div>
    </div>
    HTML输出情况是这样  不好意思啊 表达不清  
    现在每一页的连接都会附带select样式,所以全都变色了。
      

  3.   

    但是我需要调转啊
    点击过后变色
    用a:visited好像是点击过的就都会变吧?那样的不好。
    效果就是这个http://www.hfty.com/products.asp?treeid=53  这个!!!
      

  4.   

    http://www.hfty.com/products.asp?treeid=53
    左边菜单的效果 我想要这种的!~
      

  5.   

    这是必然的啊
    你自己写了样式去约束它啊。。
    a.select{color:#F00};/
      

  6.   

    那是我循环生成的。。不是我写死的。。在想办法。。
    我在想传个值给当前页面  如果当前页面等于 left_btn里面的值  那么就赋予样式  
    写了半天未果。。
      

  7.   

    加载的时候获取53 ,再给相应的 a class="select"
      

  8.   

    嗯  正在向这个思路在写  有点小坎坷echo"<div  id='left_btn_box'>";$i=1;
    while($row=mysql_fetch_array($resultpt,MYSQL_ASSOC))
    {
    $h=$i++;
    if($ch=$h)
    {
    echo"<div class='pt'><a class='select' onclick='left_btn(".$h.")' href='other.php?ch=".$i."&LevelID=".$row['LevelParentID']."&EID=".$row['LevelID']."' target='_self' >".$row['Name']."</a></div>";
    }
    else
    {
    echo"<div class='pt'><a onclick='left_btn(".$h.")' href='other.php?ch=".$i."&LevelID=".$row['LevelParentID']."&EID=".$row['LevelID']."' target='_self' >".$row['Name']."</a></div>";
    }
    }if判断失败 正琢磨呢。。
      

  9.   

    循环时候给每个a 设一个id,根据你的LevelID 比如 a0,a1,a2
    然后页面每次加载时候从url获取LevelID 
    如果LevelID是1 给id为a1的超链加颜色
      

  10.   

    我快疯了  麻烦帮忙看下吧$ID=$_GET['LevelID'];    //获得本页的ID
    $ch=$_GET['ch'];
    $eid=$_GET['EID'];
    //左边副菜单
    $sqlpt="SELECT * FROM `menu` WHERE Open=1 AND LevelParentID=".$ID;
    $resultpt=mysql_query($sqlpt);
    echo"<div  id='left_btn_box'>";$i=1;
    while($row=mysql_fetch_array($resultpt,MYSQL_ASSOC))
    {
    $h=$i++;
    $b=$row['LevelID'];
    echo"<div class='pt'><a id='".$b."' class='".$c."' onclick='left_btn(".$h.")' href='other.php?ch=".$h."&LevelID=".$row['LevelParentID']."&EID=".$b."' target='_self' >".$row['Name']."</a></div>";
    if($b=$eid)
    {
    $c=select;
    }
    }
    echo"</div>";$b是连接的传值 传过去是EID   我同时讲$b的值赋给了每个<a>的id
    然后做一个变量c在<a>标签中,当url传值等于$b时 变量c等于连接变色的样式
    现在做完了  第二个一直有颜色  第一个一直没颜色。。