我有一个名为shift_color的函数,长话短说它给了我一个不同的颜色代码(输出“#FF5F74”,“#5FFF66”,“#5F8AFF”)
我想使用此输出来设置导航菜单背景。
我试过了:
.topnav {
background-color: <?php echo shift_color(); ?>;
overflow: hidden;
}
以及其他一些不好的尝试我不会在这里提及。
首先创建一个包含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;
}
您可以使用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
如果我理解正确,你有3种类型的转变(比方说A,B,C),并且总是有一种转变是活跃的。您希望网站背景颜色反映活动的转变。
您将不得不创建某种服务器端应用程序来处理它。如果您依赖客户端,您将遇到有关其时区等问题。
您还可以在服务器上安排一个脚本任务,该任务每天8:00在服务器时间将颜色更改为下一个。