自定义文字的烟花,体验版

<script type="text/javascript"> function btnClick() { var txt_source = document.getElementById("txt_source"); var txt_dest = document.getElementById("txt_dest"); var a_dest = document.getElementById("a_dest"); var url = location.toString(); url = url.split(//?/g)[0]; txt_dest.value = url + "?text=" + escape(txt_source.value); a_dest.href = txt_dest.value; a_dest.innerHTML = txt_dest.value; } </script> 请输入文字:
链接:
测试 <script type="text/javascript"> function rgb(b, g, r) { return "#" + ("00" + Math.floor(r).toString(16)).replace(/^.*(/w{2}$)/g, "$1") + ("00" + Math.floor(g).toString(16)).replace(/^.*(/w{2}$)/g, "$1") + ("00" + Math.floor(b).toString(16)).replace(/^.*(/w{2}$)/g, "$1"); } function $(id){ return document.getElementById(id); } var pubOrbits_X = new Array(256 * 16); var pubOrbits_Y = new Array(256 * 16); var pubSpanObjects = new Array(16 * 16); var pubColors = new Array(16 * 16); var pubStepOn = 0; var pubStepOnB = 0; var pubWorkOn = 0; var pubX = 0; var pubY = 0; var pubScale = 0; var pubTime = 0; window.onload = function () { var match = (//?text/=(.+)$/g).exec(location); if (match) chars = unescape(match[1]); else { btnClick(); return; } document.body.innerHTML = "<p id='idInsertObject'></p>"; document.body.style.backgroundColor = "Black"; document.title = chars; CreateObjects(); CreateColors(); CreateOrbits(); NewSkyrocket(); ShowSkyrocket(); } function NewSkyrocket() { pubX = Math.floor(Math.random() * 640); pubY = Math.floor(Math.random() * 100) + 480; pubScale = Math.random() * 1 + 1; pubStepOn = 21; pubStepOnB = 21; pubTime = setTimeout("ShowSkyrocket();", 50); } function ShowSkyrocket() { if (pubStepOn > 1) pubStepOn--; pubStepOnB = pubStepOnB - (pubStepOnB > 1 ? 1 : 0.1); pubY = pubY - (pubStepOnB * pubScale); if (pubWorkOn < 256) { pubWorkOn = pubWorkOn + pubStepOn; ViewObjects(pubScale, pubWorkOn, pubX, pubY); pubTime = setTimeout("ShowSkyrocket();", 50); } else { pubWorkOn = 0; ViewObjects(pubScale, pubWorkOn, pubX, pubY); NewSkyrocket(); } } function ViewObjects(pScale, pIndex, pX, pY) { if (pIndex < 256 && pIndex > 15) { for (var tIndexA = 0; tIndexA <= 15; tIndexA++) { for (var tIndexB = 0; tIndexB <= 14; tIndexB++) { with (pubSpanObjects[tIndexA * 16 + tIndexB].style) { top = pubSpanObjects[tIndexA * 16 + tIndexB + 1].style.top; left = pubSpanObjects[tIndexA * 16 + tIndexB + 1].style.left; } } with (pubSpanObjects[tIndexA * 16 + 15].style) { top = pubOrbits_Y[tIndexA * 256 + pIndex] * pScale + pY + "px"; left = pubOrbits_X[tIndexA * 256 + pIndex] * pScale + pX + "px"; } for (var tIndexB = 0; tIndexB <= 15; tIndexB++) { with(pubSpanObjects[tIndexA * 16 + tIndexB].style) { color = pubColors[tIndexA * 16 + tIndexB]; } } } } } function CreateObjects() { for (var tIndexA = 0; tIndexA <= 15; tIndexA++) { for (var tIndexB = 0; tIndexB <= 15; tIndexB++) { pubSpanObjects[tIndexA * 16 + tIndexB] = document.createElement("SPAN"); with (pubSpanObjects[tIndexA * 16 + tIndexB]) { innerHTML = chars.charAt(tIndexA % chars.length); } with (pubSpanObjects[tIndexA * 16 + tIndexB].style) { position = "absolute"; color = rgb(0, 0, 0); } $("idInsertObject").appendChild(pubSpanObjects[tIndexA * 16 + tIndexB]); } } } function CreateColors() { var tColor = new Array(3); for (var tColorIndex = 0; tColorIndex <= 15; tColorIndex++) { tColor[0] = Math.random(); tColor[1] = Math.random(); tColor[2] = Math.random(); tColor[Math.floor(Math.random() * 3)] = 1; tLightLen = Math.floor(Math.random() * 50) + 50; for (var tLightIndex = 0; tLightIndex <= 15; tLightIndex++) { var tLightValue = tLightIndex * 255 / 15 pubColors[tColorIndex * 16 + tLightIndex] = rgb(tColor[0] * tLightValue, tColor[1] * tLightValue, tColor[2] * tLightValue); } } } function CreateOrbits() { var tR_XY = 0; for (var tOrbitsIndex = 0; tOrbitsIndex <= 15; tOrbitsIndex++) { var tAxis_R = Math.floor(Math.random() * 50) + 50; var tAxis_XY = Math.floor(Math.random() * 360); var tAxis_YZ = Math.floor(Math.random() * 360); var tAxis_ZX = Math.floor(Math.random() * 360); for (var tLightIndex = 0; tLightIndex <= 255; tLightIndex++) { tAxis_ZX = tAxis_ZX + 2; tR_XY = (tR_XY + 45) % 360; var result1 = {}; GetOrbits(result1, tR_XY, tAxis_YZ, tAxis_ZX, 5); var result2 = {}; GetOrbits(result2, tAxis_XY, tAxis_YZ, tAxis_ZX, tAxis_R * tLightIndex / 255); pubOrbits_X[tOrbitsIndex * 256 + tLightIndex] = result1.tOrbits_X + result2.tOrbits_X; pubOrbits_Y[tOrbitsIndex * 256 + tLightIndex] = result1.tOrbits_Y + result2.tOrbits_Y; } } } function GetOrbits(output, pAxis_XY, pAxis_YZ, pAxis_ZX, pAxis_R) { output.tAxis_XY = RadianGetByAngle(pAxis_XY); output.tAxis_YZ = RadianGetByAngle(pAxis_YZ); output.tAxis_ZX = RadianGetByAngle(pAxis_ZX); output.tOrbits_X = pAxis_R * Math.cos(output.tAxis_XY) * Math.cos(output.tAxis_ZX); output.tOrbits_Y = pAxis_R * Math.sin(output.tAxis_XY) * Math.sin(output.tAxis_YZ); } function RadianGetByAngle(pAngle) { return pAngle * Math.PI / 180; } </script>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值