JS实现《黑客帝国》落地字母背景

简介:

微笑JS实现《黑客帝国》落地字母背景。这个特别有意思,主要是通过设置字符相关属性。控制循环字母距离顶部的高度值,来达到字母不断循环下落的功能。

恩,还有加上一个随机机制,出现各种大小 各个位置 各种颜色 各种长度的效果。

好了,废话不多说,天色已晚,先看代码。

======》先发图,有图才有真相。


===============》以下代码,还是挺好玩的哦。

<HTML>
<HEAD>
<TITLE>黑客帝国</TITLE>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</HEAD>
<style type="text/css">
body
{
overflow:hidden;
margin:0;
background-color:#000000;
font-family:宋体;
}
DIV.#heike
{
overflow:hidden;
position:relative;
top:5%;
width:90%;
height:90%;
border-style:solid;
border-width:1;
border-color:#009900;
}
</style>
<script type="text/javascript">
var strCount;
var str;
var Color;
var Font;
var sLine = "1<br>0<br>0<br>.<br>1<br>0<br>1<br>1<br>1<br>.<br>0<br>O<br>1<br>1<br>0<br>1<br>1";
function OnLoad()
{
strCount = 60;
str = [];
Color = [];
Font = [];
Color[0] = "#002211";//文字的颜色
Color[1] = "#003311";
Color[2] = "#005511";
Color[3] = "#008811";
Color[4] = "#00BB99";
Color[5] = "#114411";
Color[6] = "#335566";
Color[7] = "#668899";
Color[8] = "#99BBAA";
Color[9] = "#CECECC";
Font[0] = "20px";    //文字的大小
Font[1] = "12px";
Font[2] = "24px";
Font[3] = "36px";
Font[4] = "48px";
setTimeout("strik()",100);
}
function strik()
{
for(var i=0;i<strCount;i++)
{
   if(typeof(str[i]) != "undefined")   //假设字符串存在
   {
    if(str[i]["Carch"].style.pixelTop > heike.clientHeight)
    {
     str[i]["Carch"].outerHTML = "";
     delete str[i]["Level"];//删除数组元素
     delete str[i]["Speed"];
     delete str[i]["Carch"];
     delete str[i];
    }
    else
    {
     str[i]["Carch"].style.pixelTop += str[i]["Speed"];//距离顶部的高度等于累加上Speed的值
    }
   }
   else if(Math.random()<0.25)             //随机小数
   {
    str[i] = new Array();
    str[i]["Level"] = Math.round(Math.random()*4);  //0~4
    str[i]["Speed"] = (Math.round(Math.random()*str[i]["Level"])<<2)+5;//(0~16)+5  后面加的数字越小。字母下路的速度越慢
    document.all["heike"].insertAdjacentHTML("AfterBegin","<span id='SPAN_"+i+"'>"+sLine+"</span>");//加入字母的出现区域
    str[i]["Carch"] = document.all["SPAN_"+i];
    str[i]["Carch"].style.fontSize = Font[str[i]["Level"]];             //字体
    str[i]["Carch"].style.position = "absolute";                        //位置
    str[i]["Carch"].style.pixelLeft = Math.round(Math.random()*heike.clientWidth); //x坐标
    str[i]["Carch"].style.pixelTop = -str[i]["Carch"].offsetHeight;                 //y坐标
    str[i]["Carch"].style.color = Color[str[i]["Level"]+5];                         //颜色0~9
    str[i]["Carch"].style.filter = "glow(Color="+Color[str[i]["Level"]]+",Strength=5)";//滤镜效果 glow(color=+#988fff,5)
    str[i]["Carch"].style.zIndex = str[i]["Level"];    //z-Index 堆砌次序
   }
}
setTimeout("strik()",50);
}
</script>
<BODY onload="OnLoad()">
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td align="center" height="100%"><div id="heike"></div></td></tr>

</table>
</BODY>
</HTML>
吐舌头 OK。今天就到这里了,睡觉去啊。有兴趣的能够试着玩一玩,多改进下,会有意想不到的效果哦。

奋斗喜欢小弟就关注我一下吧。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5396924.html,如需转载请自行联系原作者

相关文章
|
8月前
|
前端开发 JavaScript 开发者
javascript实现黑客帝国代码雨特效背景效果
javascript实现黑客帝国代码雨特效背景
86 0
javascript实现黑客帝国代码雨特效背景效果
|
5月前
|
JavaScript
js字母大小写转化——两种方式
js字母大小写转化——两种方式
|
5月前
|
JavaScript 前端开发
JS单选框默认选中样式修改,为白色背景中心有黑色小圆点的样式
JS单选框默认选中样式修改,为白色背景中心有黑色小圆点的样式
20 0
|
6月前
|
JavaScript
JS字符串中的第一个字母大写(两种方法)
JS字符串中的第一个字母大写(两种方法)
32 0
|
7月前
|
JavaScript 前端开发
使用js怎么设置视频背景
使用js怎么设置视频背景
115 0
|
10月前
html+js+canvas实现雪花效果背景
话不多说先看图:
86 0
|
10月前
|
JavaScript
js字母大小写转换方法
1、转换成大写:toUpperCase() 2、转换成小写:toLowerCase()
带交互功能的HTML5+JS黑客帝国
带交互功能的HTML5+JS黑客帝国
|
JavaScript 前端开发
利用JavaScript实现二级联动
利用JavaScript实现二级联动 要实现JavaScript二级联动效果,首先要确定需要哪些技术: 二维数组 for in循环 new Option(text,value,true,true) add(option,null) onchange() 表单事件 HTML代码: &lt;!-- &lt;input type=&quot;text&quot; id=&quot;text&quot;&gt; --&gt; 请选择省份: &lt;select name=&quot;&quot; id=&quot;provinces&quot;&gt; &lt;!-- &lt;option value=&quot;江苏省&quot;&gt;江苏省&lt;/option&gt;