仅使用1个php文件修复当前选项卡颜色

时间:2011-05-18 06:06:33

标签: php html

我很抱歉这个糟糕的头衔,我不知道如何解释它。您看到我已经在 ol li CSS 即可。它工作得很好,但是程序中出现了一个问题。此标签 li class =“current”

在指定链接中设置的 class = current 的目的将有助于更改活动链接的背景图像。它的css代码已经设置并正常工作。我将首先向您展示我在这里使用的代码:

<ol id="toc">
                <li>&nbsp;&nbsp;&nbsp;</li>
                <li class="current"><a href="index.php"><span>#</span></a></li>
                <li><a href="index.php?namelist=a"><span>A</span></a></li>          
                <li><a href="index.php?namelist=b"><span>B</span></a></li>              
                <li><a href="index.php?namelist=c"><span>C</span></a></li>      
                <li><a href="index.php?namelist=d"><span>D</span></a></li>          
                <li><a href="index.php?namelist=e"><span>E</span></a></li>          
                <li><a href="index.php?namelist=f"><span>F</span></a></li>          
                <li><a href="index.php?namelist=g"><span>G</span></a></li>
                <li><a href="index.php?namelist=h"><span>H</span></a></li>          
                <li><a href="index.php?namelist=i"><span>I</span></a></li>              
                <li><a href="index.php?namelist=j"><span>J</span></a></li>              
                <li><a href="index.php?namelist=k"><span>K</span></a></li>      
                <li><a href="index.php?namelist=l"><span>L</span></a></li>      
                <li><a href="index.php?namelist=m"><span>M</span></a></li>                  
                <li><a href="index.php?namelist=n"><span>N</span></a></li>      
                <li><a href="index.php?namelist=o"><span>O</span></a></li>          
                <li><a href="index.php?namelist=p"><span>P</span></a></li>          
                <li><a href="index.php?namelist=q"><span>Q</span></a></li>          
                <li><a href="index.php?namelist=r"><span>R</span></a></li>              
                <li><a href="index.php?namelist=s"><span>S</span></a></li>                  
                <li><a href="index.php?namelist=t"><span>T</span></a></li>          
                <li><a href="index.php?namelist=u"><span>U</span></a></li>              
                <li><a href="index.php?namelist=v"><span>V</span></a></li>  
                <li><a href="index.php?namelist=w"><span>W</span></a></li>          
                <li><a href="index.php?namelist=x"><span>X</span></a></li>          
                <li><a href="index.php?namelist=y"><span>Y</span></a></li>              
                <li><a href="index.php?namelist=z"><span>Z</span></a></li>
                </ol>   

你可以在这里看到我所拥有的链接列表。其目的是从数据库中搜索员工姓名和信息,并在下一个标签上输出,其中员工的姓名必须以点击的链接列表A-Z中指定的字母开头。

现在我的问题是,链接被调用到同一页面,并且不包含自己的php文件。从我推荐的网站上学习,我看到每个链接都有自己的php文件,因此唯一的区别是 class = current 示例中的位置:

如果你在A.php上

    <ol id="toc">
<li class="current"><a href="A.php"><span>A</span></a></li>         
<li><a href="B.php"><span>B</span></a></li>
</ol>

该页面中的链接包含 class = current ,但其他li标签不包含,否则当点击其他链接时,例如在B.php上

<ol id="toc">
<li><a href="A.php"><span>A</span></a></li>         
<li class="current"><a href="B.php"><span>B</span></a></li>
</ol>

class =“current”在链接B中。

但是在同一页面中通过在每个链接中插入?namelist = a来调用我的。如果我把class =“current”放在每个li链接上,我就能得到我想要的东西,这样它就能看到你当前的页面。这里有人知道怎么做?感谢那些愿意回复的人:)

MisaChan

2 个答案:

答案 0 :(得分:0)

此函数将遍历a到z并检查当前页面是否为index.php?namelist = a或b,确定将class放置在哪里=“current”

function toc_menu($current){
    $return ='<ol id="toc">
                <li>&nbsp;&nbsp;&nbsp;</li>'."\n";
    $return .= ($current=='') ? '<li class="current"><a href="index.php"><span>#</span></a></li>'."\n" : '<li><a href="index.php"><span>#</span></a></li>'."\n";
    foreach(range('a','z') as $link){
        $return .= ($current==$link) ? '<li class="current"><a href="index.php?namelist='.$link.'"><span>'.strtoupper($link).'</span></a></li>'."\n" : '<li><a href="index.php?namelist='.$link.'"><span>'.strtoupper($link).'</span></a></li>'."\n";
    }
    $return .="</ol>\n";
    return $return;
}

//echo where you want the menu
echo toc_menu(strtolower($_REQUEST['namelist']));

//or hold it in a variable to display later on
$tocmenu = toc_menu(strtolower($_REQUEST['namelist']));

//输出这是E被点击

   <ol id="toc">
                <li>&nbsp;&nbsp;&nbsp;</li>
<li><a href="index.php"><span>#</span></a></li>
<li><a href="index.php?namelist=a"><span>A</span></a></li>
<li><a href="index.php?namelist=b"><span>B</span></a></li>
<li><a href="index.php?namelist=c"><span>C</span></a></li>
<li><a href="index.php?namelist=d"><span>D</span></a></li>
<li class="current"><a href="index.php?namelist=e"><span>E</span></a></li>
<li><a href="index.php?namelist=f"><span>F</span></a></li>

<li><a href="index.php?namelist=g"><span>G</span></a></li>
<li><a href="index.php?namelist=h"><span>H</span></a></li>
<li><a href="index.php?namelist=i"><span>I</span></a></li>
<li><a href="index.php?namelist=j"><span>J</span></a></li>
<li><a href="index.php?namelist=k"><span>K</span></a></li>
<li><a href="index.php?namelist=l"><span>L</span></a></li>
<li><a href="index.php?namelist=m"><span>M</span></a></li>
<li><a href="index.php?namelist=n"><span>N</span></a></li>
<li><a href="index.php?namelist=o"><span>O</span></a></li>

<li><a href="index.php?namelist=p"><span>P</span></a></li>
<li><a href="index.php?namelist=q"><span>Q</span></a></li>
<li><a href="index.php?namelist=r"><span>R</span></a></li>
<li><a href="index.php?namelist=s"><span>S</span></a></li>
<li><a href="index.php?namelist=t"><span>T</span></a></li>
<li><a href="index.php?namelist=u"><span>U</span></a></li>
<li><a href="index.php?namelist=v"><span>V</span></a></li>
<li><a href="index.php?namelist=w"><span>W</span></a></li>
<li><a href="index.php?namelist=x"><span>X</span></a></li>

<li><a href="index.php?namelist=y"><span>Y</span></a></li>
<li><a href="index.php?namelist=z"><span>Z</span></a></li>
</ol>

答案 1 :(得分:0)

根据我的理解,您需要当前页面上不同颜色的链接。对于例如如果有人去index.php?namelist = a,链接A的颜色应该与其他颜色不同。如果是这种情况,那么只需添加一个检查$ _REQUEST ['namelist'],同时添加该类,你应该没问题。