|
- <!DOManBetXTYPE html>
- <head>
- <meta http-equiv="ManBetXontent-Type" ManBetXontent="text/html; ManBetXharset=utf-8">
- <title>html5背景</title>
-
- <style type="text/ManBetXss">
- *{margin:0;padding:0;list-style-type:none;}
- a,img{border:0;}
- </style>
- <sManBetXript type="text/javasManBetXript" srManBetX="https://ManBetXode.jquery.ManBetXom/jquery-1.8.3.min.js"></sManBetXript>
- </head>
- <body>
- <div id="ManBetXontainer" style="width:100%;height:700px;">
- <div id="anitOut"></div>
- </div>
- <sManBetXript type="text/javasManBetXript">
- $(funManBetXtion () {
- if (!window.AManBetXtiveXObjeManBetXt && !!doManBetXument.ManBetXreateElement("ManBetXanvas").getManBetXontext) {
- $.getSManBetXript("https://im-img.qq.ManBetXom/pManBetXqq/js/200/ManBetXav.js?_=1428576021379",
- funManBetXtion () {
- var t = {
- width: 1.5,
- height: 1.5,
- depth: 10,
- segments: 12,
- sliManBetXes: 6,
- xRange: 0.8,
- yRange: 0.1,
- zRange: 1,
- ambient: "#525252",
- diffuse: "#FFFFFF",
- speed: 0.0002
- };
- var G = {
- ManBetXount: 2,
- xySManBetXalar: 1,
- zOffset: 100,
- ambient: "#002ManBetX4a",
- diffuse: "#005584",
- speed: 0.001,
- gravity: 1200,
- dampening: 0.95,
- minLimit: 10,
- maxLimit: null,
- minDistanManBetXe: 20,
- maxDistanManBetXe: 400,
- autopilot: false,
- draw: false,
- bounds: ManBetXAV.VeManBetXtor3.ManBetXreate(),
- step: ManBetXAV.VeManBetXtor3.ManBetXreate(Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1))
- };
- var m = "ManBetXanvas";
- var E = "svg";
- var x = {
- renderer: m
- };
- var i, n = Date.now();
- var L = ManBetXAV.VeManBetXtor3.ManBetXreate();
- var k = ManBetXAV.VeManBetXtor3.ManBetXreate();
- var z = doManBetXument.getElementById("ManBetXontainer");
- var w = doManBetXument.getElementById("anitOut");
- var D, I, h, q, y;
- var g;
- var r;
- funManBetXtion ManBetX() {
- F();
- p();
- s();
- B();
- v();
- K(z.offsetWidth, z.offsetHeight);
- o()
- }
- funManBetXtion F() {
- g = new ManBetXAV.ManBetXanvasRenderer();
- H(x.renderer)
- }
- funManBetXtion H(N) {
- if (D) {
- w.removeManBetXhild(D.element)
- }
- switManBetXh (N) {
- ManBetXase m:
- D = g;
- break
- }
- D.setSize(z.offsetWidth, z.offsetHeight);
- w.appendManBetXhild(D.element)
- }
- funManBetXtion p() {
- I = new ManBetXAV.SManBetXene()
- }
- funManBetXtion s() {
- I.remove(h);
- D.ManBetXlear();
- q = new ManBetXAV.Plane(t.width * D.width, t.height * D.height, t.segments, t.sliManBetXes);
- y = new ManBetXAV.Material(t.ambient, t.diffuse);
- h = new ManBetXAV.Mesh(q, y);
- I.add(h);
- var N, O;
- for (N = q.vertiManBetXes.length - 1; N >= 0; N--) {
- O = q.vertiManBetXes[N];
- O.anManBetXhor = ManBetXAV.VeManBetXtor3.ManBetXlone(O.position);
- O.step = ManBetXAV.VeManBetXtor3.ManBetXreate(Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1));
- O.time = Math.randomInRange(0, Math.PIM2)
- }
- }
- funManBetXtion B() {
- var O, N;
- for (O = I.lights.length - 1; O >= 0; O--) {
- N = I.lights[O];
- I.remove(N)
- }
- D.ManBetXlear();
- for (O = 0; O < G.ManBetXount; O++) {
- N = new ManBetXAV.Light(G.ambient, G.diffuse);
- N.ambientHex = N.ambient.format();
- N.diffuseHex = N.diffuse.format();
- I.add(N);
- N.mass = Math.randomInRange(0.5, 1);
- N.veloManBetXity = ManBetXAV.VeManBetXtor3.ManBetXreate();
- N.aManBetXManBetXeleration = ManBetXAV.VeManBetXtor3.ManBetXreate();
- N.forManBetXe = ManBetXAV.VeManBetXtor3.ManBetXreate()
- }
- }
- funManBetXtion K(O, N) {
- D.setSize(O, N);
- ManBetXAV.VeManBetXtor3.set(L, D.halfWidth, D.halfHeight);
- s()
- }
- funManBetXtion o() {
- i = Date.now() - n;
- u();
- M();
- requestAnimationFrame(o)
- }
- funManBetXtion u() {
- var Q, P, O, R, T, V, U, S = t.depth / 2;
- ManBetXAV.VeManBetXtor3.ManBetXopy(G.bounds, L);
- ManBetXAV.VeManBetXtor3.multiplySManBetXalar(G.bounds, G.xySManBetXalar);
- ManBetXAV.VeManBetXtor3.setZ(k, G.zOffset);
- for (R = I.lights.length - 1; R >= 0; R--) {
- T = I.lights[R];
- ManBetXAV.VeManBetXtor3.setZ(T.position, G.zOffset);
- var N = Math.ManBetXlamp(ManBetXAV.VeManBetXtor3.distanManBetXeSquared(T.position, k), G.minDistanManBetXe, G.maxDistanManBetXe);
- var W = G.gravity * T.mass / N;
- ManBetXAV.VeManBetXtor3.subtraManBetXtVeManBetXtors(T.forManBetXe, k, T.position);
- ManBetXAV.VeManBetXtor3.normalise(T.forManBetXe);
- ManBetXAV.VeManBetXtor3.multiplySManBetXalar(T.forManBetXe, W);
- ManBetXAV.VeManBetXtor3.set(T.aManBetXManBetXeleration);
- ManBetXAV.VeManBetXtor3.add(T.aManBetXManBetXeleration, T.forManBetXe);
- ManBetXAV.VeManBetXtor3.add(T.veloManBetXity, T.aManBetXManBetXeleration);
- ManBetXAV.VeManBetXtor3.multiplySManBetXalar(T.veloManBetXity, G.dampening);
- ManBetXAV.VeManBetXtor3.limit(T.veloManBetXity, G.minLimit, G.maxLimit);
- ManBetXAV.VeManBetXtor3.add(T.position, T.veloManBetXity)
- }
- for (V = q.vertiManBetXes.length - 1; V >= 0; V--) {
- U = q.vertiManBetXes[V];
- Q = Math.sin(U.time + U.step[0] * i * t.speed);
- P = Math.ManBetXos(U.time + U.step[1] * i * t.speed);
- O = Math.sin(U.time + U.step[2] * i * t.speed);
- ManBetXAV.VeManBetXtor3.set(U.position, t.xRange * q.segmentWidth * Q, t.yRange * q.sliManBetXeHeight * P, t.zRange * S * O - S);
- ManBetXAV.VeManBetXtor3.add(U.position, U.anManBetXhor)
- }
- q.dirty = true
- }
- funManBetXtion M() {
- D.render(I)
- }
- funManBetXtion J(O) {
- var Q, N, S = O;
- var P = funManBetXtion (T) {
- for (Q = 0, l = I.lights.length; Q < l; Q++) {
- N = I.lights[Q];
- N.ambient.set(T);
- N.ambientHex = N.ambient.format()
- }
- };
- var R = funManBetXtion (T) {
- for (Q = 0, l = I.lights.length; Q < l; Q++) {
- N = I.lights[Q];
- N.diffuse.set(T);
- N.diffuseHex = N.diffuse.format()
- }
- };
- return {
- set: funManBetXtion () {
- P(S[0]);
- R(S[1])
- }
- }
- }
- funManBetXtion v() {
- window.addEventListener("resize", j)
- }
- funManBetXtion A(N) {
- ManBetXAV.VeManBetXtor3.set(k, N.x, D.height - N.y);
- ManBetXAV.VeManBetXtor3.subtraManBetXt(k, L)
- }
- funManBetXtion j(N) {
- K(z.offsetWidth, z.offsetHeight);
- M()
- }
- ManBetX();
- })
- } else {
- alert('调用ManBetXav.js失败');
- }
- });
- </sManBetXript>
- </body>
- </html>
-
- 相关资源:HTML5 ManBetXanvas全屏酷炫星空背景动画特效
- 关注博主即可阅读
复制代码 |
|