突出显示所选标签

时间:2011-06-17 15:03:37

标签: php jquery

我已经搜索过,但无法找到满意的答案 我有一个头文件,它被包含在每个页面的顶部,标题的一部分是一个带有3个标签的菜单,当用户点击标签浏览器将它们带到那个页面(工作正常),我想要的是,那是什么在加载该页面时,用户点击标签会突出显示(差异颜色)。

这是html:

<div id="top-choicebar">
       <ul id="topmenu">
             <li><a href="daily.php" class="ww"  >Daily</a></li>
             <li>< href="weekly.php" class="ww">Weekly</a></li>
             <li>< href="monthly.php" class="ww">Monthly</a></li>
       </ul>

 <div id="event-menu">

php和jquery的新功能......任何帮助都会非常适合

4 个答案:

答案 0 :(得分:2)

你可以通过CSS和条件类来实现。

<a href="weekly.php" class="<?= stripos($_SERVER['PHP_SELF'], 'weekly.php') ? 'selected' : ''?>">Weekly</a>
<a href="monthly.php" class="<?= stripos($_SERVER['PHP_SELF'], 'monthly.php') ? 'selected' : ''?>">Monthly</a>

答案 1 :(得分:0)

你可以尝试使用这样的东西,但它非常简陋:

<?php if (preg_match("/weekly.php/i", $_SERVER["SCRIPT_NAME"])) {
    // Tab should be highlighted
    < href="weekly.php" class="ww active">Weekly</a>
} else {
    < href="weekly.php" class="ww">Weekly</a>
}
?>

这将为链接添加一个“活动”类,然后您可以使用CSS设置样式以更改背景颜色...

答案 2 :(得分:0)

我过去一直在做的是将参数传递给正在根据我正在加载的页面构建菜单的类。

所以daily.php加载Header.php并在Header构建html时传递类似new Header(0)的变量,它会循环链接以打印它们,以及传递的数字,它添加了一个类current

所以如果:

每日== 0
每周== 1
每月== 2

标题将根据调用它的页面选择正确的类来应用该类。

当然,这只有在你的菜单链接存储在原始HTML之外的某个地方时才有效,比如数据库甚至是数组。

答案 3 :(得分:0)

设置类似.selected{background-color:red}的类设置,用于定义要查看的不同背景颜色。然后,当您渲染页面时,由于您已经知道它是哪个选项卡,因此您只需渲染附加了该类的选定选项卡。如果您通过ajax呈现选项卡内容,则只需找到“selected”类的所有选项卡,然后将该类添加到选定的选项卡 $(“#topmenu li”)。live(“click”,function() {     $( “#顶部菜单”)找到( “选择 ”)。removeClass(“ 选择”)。;     $(本).addClass( “选择”); });