代码一:
黑客帝国文字下落效果
查看效果 源码下载
源代码如下:
<!DOCTYPE html> <html> <head> <meta charset=\"utf-8\"> <title>黑客帝国文字下落</title> <style> html, body {margin:0; padding:0; background-color:#000;} #divList {width:800px; height:500px; border:solid 3px gray; margin: 0px auto; overflow:hidden; position: relative;} .divText {position: absolute;} .divText span {display:block; font-weight: bold; font-family:Courier New; } </style> <script src=\"http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js\"></script> </head> <body> <h1 style=\"text-align:center; color:gray;\">黑客帝国文字下落 (<span id=\"spanCount\">0</span>)</h1> <div id=\"divList\"> </div> <script> function rand(min, max) { return min + Math.round(Math.random() * (max - min)); } function add() { var x = rand(0, 800); var html = \'<div class=\"divText\" style=\"left:\' + x + \'px; bottom:500px;\">\'; /* var color1 = []; var color2 = []; var color3 = []; var color4 = []; var color5 = []; var color6 = []; for (var i=1; i<17; i++) { var f = i.toString(16); color1.push(\'0\' + f + \'0\'); color2.push(f + \'00\'); color3.push(\'00\' + f); color4.push(\'0\' + f + f); color5.push(f + f + \'0\'); color6.push(f + \'0\' + f); } var color = [color1, color2, color3, color4, color5, color6]; var ci = rand(0, 5); */ var color = []; for (var i=1; i<17; i++) { var f = i.toString(16); color.push(\'0\' + f + \'0\'); } var fontSize = rand(9, 24); for (var i=1; i<17; i++) { var c = rand(33, 127); var c = String.fromCharCode(c); // html += \'<span class=\"s\' + i + \'\" style=\"color:#\' + color[ci][i-1] + \'; font-size:\' + fontSize + \'px;\">\' + c + \'</span>\'; html += \'<span class=\"s\' + i + \'\" style=\"color:#\' + color[i-1] + \'; font-size:\' + fontSize + \'px; text-shadow:0px 0px 10px #\' + color[i-1] + \';\">\' + c + \'</span>\'; } html += \'</div>\'; $(\'#divList\').append(html); } function run() { var x = rand(0, 100); if (x < 100) { add(); } $(\'#spanCount\').html($(\'.divText\').size()); $(\'.divText\').each(function(){ var y = $(this).css(\'bottom\'); y = parseInt(y); y -= $(this).find(\'span\').eq(0).height(); $(this).css(\'bottom\', \'\' + y + \'px\'); if (y + $(this).height() <= 0) { $(this).remove(); return; } $(this).find(\'span\').each(function(){ var c = rand(33, 127); var c = String.fromCharCode(c); $(this).html(c); }); }); window.setTimeout(run, 100); } run(); </script> </body> </html>
代码二:
在一个JS的学习资料上,看到一个关于黑客帝国文字下落的特效!挺好玩的,贴个源码分享一下!
<HTML> <HEAD> <TITLE>《黑客帝国》中的字符下落效果</TITLE> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=gb2312\"> </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 language=\"javascript\"> var strCount; var str; var Color; var Font; var sLine = \"0<br/>1<br/>0<br/>1<br/>0<br/>0<br/>1<br/>0<br/>1<br/>0<br/>\"; function OnLoad() { strCount = 40; 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] = \"10px\"; //文字的大小 Font[1] = \"12px\"; Font[2] = \"14px\"; Font[3] = \"16px\"; Font[4] = \"18px\"; setTimeout(\"strik()\",50); } 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\"]; } } else if(Math.random()<0.25) //随机小数 { str[i] = new Array(); str[i][\"Level\"] = Math.round(Math.random()*4); str[i][\"Speed\"] = (Math.round(Math.random()*str[i][\"Level\"]) <<2)+50; 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]; //颜色 str[i][\"Carch\"].style.filter = \"glow(Color=\"+Color[str[i] [\"Level\"]]+\",Strength=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> <tr><td align=\"center\" style=\"padding:5;font-size:9pt;color:#FFFFFF;\">使用 IE 6.0 以上版本或以IE 为核心的浏览器浏览本页,1024*768分辨率为佳</td></tr> </table> </BODY> </HTML>
提示:重点是对颜色和速度的随机设置。JavaScript中的“Math”对象用来提供数学运算,其中“Math.random”用来获取一个0到1之间的随机数。“Math.round”是采用四舍五入方式取得最接近的整数。代码中使用了两维数组,“delete”方法用来删除数组中的元素。
( 你可以自己去修改参数看看对应的效果,如:JS中关于文字下降速度控制的变量Speed,可以将其调的大一些,让它更快些;还可以修改CSS样式里溢出属性“overflow”取消隐藏,看看有多难看!。。。。。)
本文地址:https://www.stayed.cn/item/6171
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我