效果网址:http://keleyi.com/keleyi/phtml/html5/5.htm
1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>2015元旦来个炫的html5特效-柯乐义</title><base target="_blank" /> 5 <script type="text/javascript"> window.onload = function () { 6 C = Math.cos; S = Math.sin; U = 0; w = window; j = document; d = j.getElementById("kele"+"yi_com"); c = d.getContext("2d"); W = d.width = w.innerWidth; H = d.height = w.innerHeight; c.fillRect(0, 0, W, H); c.globalCompositeOperation = "lighter"; c.lineWidth = 0.2; c.lineCap = "round"; var bool = 0, t = 0; d.onmousemove = function (e) { 7 if (window.T) { 8 if (D == 9) { D = Math.random() * 15; f(1); } 9 clearTimeout(T); 10 } 11 X = e.pageX; Y = e.pageY; a = 0; b = 0; A = X, B = Y; R = (e.pageX / W * 999 >> 0) / 999; r = (e.pageY / H * 999 >> 0) / 999; U = e.pageX / H * 360 >> 0; D = 9; g = 360 * Math.PI / 180; T = setInterval(f = function (e) { 12 c.save(); c.globalCompositeOperation = "source-over"; if (e != 1) { c.fillStyle = "rgba(0,0,0,0.02)"; c.fillRect(0, 0, W, H); } 13 c.restore(); i = 25; while (i--) { 14 c.beginPath(); if (D > 450 || bool) { 15 if (!bool) { bool = 1; } 16 if (D < 0.1) { bool = 0; } 17 t -= g; D -= 0.1; 18 } 19 if (!bool) { t += g; D += 0.1; } 20 q = (R / r - 1) * t; x = (R - r) * C(t) + D * C(q) + (A + (X - A) * (i / 25)) + (r - R); y = (R - r) * S(t) - D * S(q) + (B + (Y - B) * (i / 25)); if (a) { c.moveTo(a, b); c.lineTo(x, y) } 21 c.strokeStyle = "hsla(" + (U % 360) + ",100%,50%,0.75)"; c.stroke(); a = x; b = y; 22 } 23 U -= 0.5; A = X; B = Y; 24 }, 16); 25 } 26 j.onkeydown = function (e) { a = b = 0; R += 0.05 } 27 d.onmousemove({ pageX: 300, pageY: 290 }) 28 }</script> 29 <style>body{margin:0;overflow:hidden}div{padding:1px 5px;background:#333;position:absolute;z-index:2;color:#555;font-family:arial}a{color:#ccf}a:hover{color:red}</style> 30 31 </head> 32 <body> 33 <div><a href="http://keleyi.com/">首页</a> <a href="http://keleyi.com/a/bjad/8e9jd0u5.htm">原文</a> <a href="http://keleyi.com/keleyi/phtml/">特效库</a> 1kb的Javascript能干什么?</div> 34 <div id="text"></div> 35 <canvas id="keleyi_com"></canvas> 36 </body> 37 </html>