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;?>">
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;}
.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)这两个的区别,效果是完全一样的哟。
-
2011 年终总结2011年12月29日 -
Google 赐予我的意外惊喜2011年11月10日 -
双重有奖活动给力举办中!2011年08月22日 -
近期杂谈2011年08月13日