Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 突出显示所选选项卡_Php_Jquery - Fatal编程技术网

Php 突出显示所选选项卡

Php 突出显示所选选项卡,php,jquery,Php,Jquery,我已经找过了,但找不到满意的答案 我有一个头文件,它包含在每个页面的顶部,头的一部分是一个包含3个选项卡的菜单,当用户单击选项卡浏览器时,将它们带到该页面(工作正常),我想要的是,当该页面加载时,用户单击的任何选项卡都会高亮显示(不同的背景颜色) 以下是html: <div id="top-choicebar"> <ul id="topmenu"> <li><a href="daily.php" class="ww

我已经找过了,但找不到满意的答案 我有一个头文件,它包含在每个页面的顶部,头的一部分是一个包含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的新功能。。。您可以通过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>

您可以尝试使用类似的方法,但它非常简单:

<?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设置样式以更改背景颜色…

我过去一直在做的是将一个参数传递给基于加载的页面构建菜单的类

因此
daily.php
加载
Header.php
并向其传递一个变量,如
newheader(0)
当Header构建html时,它循环通过链接打印它们,并在传递的数字上添加一个类,如
current

因此,如果:

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

标头将根据调用该类的页面选择正确的类


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

有一个类设置,如
。selected{background color:red}
,它定义了要查看的不同背景颜色。然后,当您呈现页面时,因为您已经知道它是哪个选项卡,所以只需呈现附加了该类的选定选项卡。如果您是通过ajax呈现选项卡内容,那么只需找到类为“selected”的所有选项卡,然后将该类添加到所选选项卡中 $(“#topmenu li”).live(“单击”,函数() { $(“#topmenu”).find(“.selected”).removeClass(“selected”); $(此).addClass(“选定”);
});

你是在半轴加载页面吗?或者这些只是简单的链接,完全重新加载页面?谢谢。。。标题总是一样的。。请给我一个提示,我根本没有使用ajax