+ -
当前位置:首页 → 问答吧 → PHP与AJAX打造闪烁文字效果

PHP与AJAX打造闪烁文字效果

时间:2008-09-21

来源:互联网

首先,我来讲解一下闪烁文字实现的原理:第一先用PHP的FOR语句打造出一个汉字,第二,采用随机颜色,这样就会文字就会出现不同的颜色,从而看起来与彩色的灯一样了。第三通过AJAX的无刷新功能来调用两个同样的PHP页面,设置间隔时间为1秒,这样感觉起来的非常的真实,不会产生不流畅性。下面贴出代码:

1,效果页(china.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> PHP结合AJAX实现文字的闪动效果 </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <style type="text/css"><!--
  body{
  background-color:black;
  }
  --></style>
  <script language="JavaScript"><!--
   //下面是AJAX部分
var xmlhttp = false;
//Check if we are using IE.
try {
  //If the javascript version is greater than 5.
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  //If not, then use the older active x object.
  try {
   //If we are using IE.
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   //Else we must be using a non-IE browser.
   xmlhttp = false;
  }
}

//If we are using a non-IE browser, create a JavaScript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  xmlhttp = new XMLHttpRequest();
}
var b=true
function sdong(){
if(b==true){
//alert(b);
var obj=document.getElementById("a");
//alert(a);
xmlhttp.open("GET","china.php",false);
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    obj.innerHTML = xmlhttp.responseText;
    }
   
   }
   xmlhttp.send(null);
   b=false;
   }
   else{
//alert(b);
var obj=document.getElementById("a");
//alert(a);
xmlhttp.open("GET","china1.php");
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    obj.innerHTML = xmlhttp.responseText;
    }
   
   }
   xmlhttp.send(null);
   b=true;
   }
   }
   
window.setInterval("sdong()", 500);

  --></script>
</HEAD>
<BODY>
  <div align="center" id="a"><font color="white">载入中....</font></div>
</BODY>
</HTML>

2.创建两个动态页面,其实是一样的,只不过为了达到效果而重命名了一个.(china.php和china1.php)
<?php
//设置随机的颜色并存入数组
$colors=array("red","blue","green","yellow","#008000");
//下面是利用for循环实现一个汉字的打印效果
for($i=1;$i<=5;$i++){
for($j=1;$j<=11;$j++){
if($j!=5){
echo "&nbsp;";
}
else{
//取得随机颜色
$color=$colors[rand(0,count($colors)-1)];
echo "<font color=$color>&nbsp;&nbsp;*</font>";
}
}
echo "<br>";
}
for($i=1;$i<=8;$i++){
if($i==1 || $i==8){
for($j=1;$j<=11;$j++){
  $color=$colors[rand(0,count($colors)-1)];
echo "<font color=$color>* </font>";
}
echo '<br>';
}else{
for($h=1;$h<12;$h++){
if($h==1 || $h==6 || $h==11){
$color=$colors[rand(0,count($colors)-1)];
echo "<font color=$color>* </font>";
}
else{
echo "&nbsp;&nbsp;";
}
}echo "<br>";
}
}
for($i=1;$i<=5;$i++){
for($j=1;$j<=11;$j++){
if($j!=5){
echo "&nbsp;";
}
else{
$color=$colors[rand(0,count($colors)-1)];
echo "<font color=$color>&nbsp;&nbsp;*</font>";
}
}
echo "<br>";
}
?>
至此写完收功,贴上效果图(运行程序时会不断地闪烁)演示地址:http://www.fla8d.cn/pblog/?id=11&style=&typeid=1011

zhong.jpg (5.02 KB)

下载次数:6

2008-9-21 15:25

作者: pangjincai   发布时间: 2008-09-21

好想法 举一反三 能做出很多效果

作者: joj_79   发布时间: 2008-09-21