根据功能输出更改背景颜色

时间:2017-12-16 16:23:09

标签: javascript php jquery html css

我有一个名为shift_color的功能,长话短说它给了我一个不同的颜色代码(推出"#FF5F74","#5FFF66","#5F8AFF&# 34)

我希望使用此输出设置导航菜单背景的样式。

我试过了:

.topnav {
background-color: <?php echo shift_color(); ?>;
overflow: hidden;

}

以及其他一些不好的尝试我不会在这里提及。

3 个答案:

答案 0 :(得分:0)

您可以使用javascript来读取用户的当前日期和时间,并相应地提供不同的内容。 当然,您可以使用您正在使用的任何服务器端技术来实现这一目标,php,python,java ......

对于某些任务,您可能希望使用cron作业。

运行     crontab -e 在服务器的命令行上,在编辑器中打开。并添加

0 8 * * * /your script path to change an item
0 0 * * 1 /your script to change background color for Monday
0 0 * * 2 /your script for Tuesday
0 0 * * 3 /your script for Wednesday

答案 1 :(得分:0)

首先创建一个包含0到366之间的值的数组,步长为3.因此,您的数组值将为0,3,6,9等。所有这些天都将是rota的第1天

$days = range(0,366,3);

然后找出今天的哪一天,并将其分配给变量

$day = date("z");

现在检查今天的值是否在数组中,如果是,那么它是第1天。如果没有,那么我们可以通过在今天的数字中添加2来查看它是否是第2天,并查看是否是第1天的旋转。如果那不匹配那么它必须是第3天,但是我们将通过在日期编号中加1来检查是否会是第1天

switch (true) {
    case (in_array($day, $days)):
    $shiftColor = '#FF5F74';   // Set your css classes or whatever here
    break;
    case (in_array(($day + 2), $days)):
    $shiftColor = '#5FFF66';  //  and here
    break;
    case (in_array(($day + 1), $days)):
    $shiftColor = '#5F8AFF';  //and here
    break;
}

然后在这下面你把你的css

.topnav {
background-color: <?php echo $shiftColor; ?>;
overflow: hidden;
}

答案 2 :(得分:-1)

如果我理解正确,你有3种类型的轮班(让我们说A,B,C)并且总是有一种轮班活动。您希望网站背景颜色反映活动的转变。

您必须创建某种服务器端应用程序来处理它。如果您依赖客户端,则会遇到有关其时区等问题。

您还可以在服务器上安排一个脚本任务,该任务每天8:00在服务器时间将颜色更改为下一个任务。