根据功能输出更改背景颜色[关闭]

问题描述 投票:0回答:3

我有一个名为shift_color的函数,长话短说它给了我一个不同的颜色代码(输出“#FF5F74”,“#5FFF66”,“#5F8AFF”)

我想使用此输出来设置导航菜单背景。

我试过了:

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

}

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

javascript php jquery html css
3个回答
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;
}

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
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.