使用php在一段时间后动态更改网站背景

Posted

技术标签:

【中文标题】使用php在一段时间后动态更改网站背景【英文标题】:Dynamically changing website background after certain time using php 【发布时间】:2019-09-20 02:14:03 【问题描述】:

嗨,我正在尝试使用 php 在一段时间后更改我的网页背景 在这里,我尝试使用 while 循环,但它不起作用,也没有显示任何错误。 谢谢你帮助我

<?php
function random_color_part() 
    return str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);


function random_color() 
    return random_color_part() . random_color_part() . random_color_part();



function final_done()
    $yourcolor = random_color();

    $styleBlock = sprintf('<style type="text/css">
            body
                background-color:%s;
            ',$yourcolor);
    echo $styleBlock;


while (true) 
    final_done();
    sleep(3);

?>

【问题讨论】:

您将无法使用 PHP 做到这一点。 PHP 是一种服务器端语言,一旦执行,它就完成了,它自己不会做任何其他事情。为此,您可能需要 javascript 寻找“css动画”。 【参考方案1】:

这里可能存在混淆:php 应该在服务器端,而您使用它来定义在客户端使用的 html 数据。

您使用它的方式应该使用客户端语言,例如 javascript。以编程方式认为它的方式很好,但在客户端/服务器模式中却很困惑。

所以你基本上有两种方法可以做到:

“正常的”,使用javascript 使相同的循环改变背景颜色。 不推荐使用“php one”,您可以在其中定义每次加载页面时的背景颜色。请注意,这不允许您在客户端使用定时循环。

【讨论】:

意思是用js循环php函数? 不,php 是服务器端,但更改背景组颜色是客户端。这不一样。您应该定义 js 函数来执行此操作,而不是 php 代码。 您可以使用本主题link中描述的一些JS代码。但事实上,php只是服务器端,在这种情况下你必须使用客户端语言。

以上是关于使用php在一段时间后动态更改网站背景的主要内容,如果未能解决你的问题,请参考以下文章

背景未在一页上覆盖网站

使用jquery动态更改背景颜色后,背景颜色的CSS悬停选择器不起作用

设置android背景颜色异步

我希望我的关键帧动画在一段时间后重新启动

使用 javascript 动态更改 <div> 背景图像

转到下一个视图会更改导航栏背景颜色