PHP 实现背景定时自动更换

为了新主题,昨天研究了用 Javascript 实现背景定时自动更换的效果,引起了童鞋们的热烈讨论,尤其是几位老鸟,问题被集中在这个背景定时自动更换的效果是用 Javascript 更好?还是用 PHP 更好?是交给客户端处理好还是交给服务器处理好?老鸟们说的都很有道理,让我有些纠结。感谢 Winy 小盆友,还特地写了一篇文章,让我知道原理这个效果还可以用 PHP + jQuery 两个结合一起实现的,太牛叉哄哄了。

不过我现在的主题还不需要那么牛叉的效果,会抢了内容的风头,所以仅作学习。另外我也想实践一下用 PHP 如何实现这个效果,所以相对应的,我也做了一个用 PHP 实现背景定时自动更换的 DEMO(点此查看)。代码如下:

<?php
    date_default_timezone_set('Etc/GMT-8');
    $showhour = date("G");
    if($showhour > 4 && $showhour <= 12)
    {
        $header = "header_1";
        $headerbg = "headerbg_1";
    }elseif($showhour > 12 && $showhour <= 18){
        $header = "header_2";
        $headerbg = "headerbg_2";
    }else{
        $header = "header_3";
        $headerbg = "headerbg_3";
    }
{?>
<body class="<?php } echo $headerbg;{?>">
    <div id="header" class="<?php } echo $header;?>">

以上就是 PHP + Html 部分,原理和 Javascript 实现的差不多,根据时间判断,给不同时间段的头部加上特定的样式,在这里,我只是加上了 class,所以还要在 CSS 中加上相对应的样式和背景图片:

.header_1{background:url('images/header_1.jpg') no-repeat;}
.header_2{background:url('images/header_2.jpg') no-repeat;}
.header_3{background:url('images/header_3.jpg') no-repeat;}
.headerbg_1{background:url('images/headerbg_1.png') repeat-x 0 10px #EFEFEF;}
.headerbg_2{background:url('images/headerbg_2.png') repeat-x 0 10px #EFEFEF;}
.headerbg_3{background:url('images/headerbg_3.png') repeat-x 0 10px #EFEFEF;}

我还处在学习阶段,所以无论是 Javascript 还是 PHP 的方法对我来说都是好的,因为从中学到了方法。较真的朋友也不妨比较一下 Javscript(DEMO)和 PHP(DEMO)这两个的区别,效果是完全一样的哟。

,

相关的文章