圣诞将至:js加html5教你写出动态旋转圣诞树。

简介: 圣诞将至:js加html5教你写出动态旋转圣诞树。

js与H5 canvas实现动态旋转圣诞树

效果图:

image.jpeg

源代码

  <canvas id="c" height="356" width="446">
    <script>
      var collapsed = true;
      function toggle() {
        var fs = top.document.getElementsByTagName('frameset')[0];
        var f = fs.getElementsByTagName('frame');
        if (collapsed) {
          fs.rows = '250px,*';
          fs.noResize = false;
          f[0].noResize = false;
          f[1].noResize = false;
        }
        else {
          fs.rows = '30px,*';
          fs.noResize = true;
          f[0].noResize = true;
          f[1].noResize = true;
        }
        collapsed = !collapsed;
      }
    </script>
    <script>
      var b = document.body;
      var c = document.getElementsByTagName('canvas')[0];
      var a = c.getContext('2d');
      document.body.clientWidth;
    </script>
    <script>
      M = Math;
      Q = M.random; J = [];
      U = 16;
      T = M.sin;
      E = M.sqrt;
      for (O = k = 0; x = z = j = i = k < 200;)
        with (M[k] = k ? c.cloneNode(0) : c) {
          width = height = k ? 32 : W = 446;
          with (getContext('2d'))
          if (k > 10 | !k)
            for (
              font = '60px Impact',
              V = 'rgba('; I = i * U, fillStyle = k ? k == 13 ? V + '205,205,215,.15)' :
                V + (147 + I) + ',' + (k % 2 ? 128 + I : 0) + ',' + I + ',.5)' : '#cca', i < 7;)
              beginPath(fill(arc(U - i / 3, 24 - i / 2, k == 13 ? 4 - (i++) / 2 : 8 - i++, 0, M.PI * 2, 1)));
          else for (;
            x = T(i),
            y = Q() * 2 - 1,
            D = x * x + y * y,
            B = E(D - x / .9 - 1.5 * y + 1),
            R = 67 * (B + 1) * (L = k / 9 + .8) >> 1,
            i++ < W;
          )
            if (D < 1)
              beginPath(strokeStyle = V + R + ',' + (R + B * L >> 0) + ',40,.1)'),
                moveTo(U + x * 8, U + y * 8),
                lineTo(U + x * U, U + y * U),
                stroke();
          for (
            y = H = k + E(k++) * 25,
            R = Q() * W;
            P = 3, j < H;)
            J[O++] = [
              x += T(R) * P + Q() * 6 - 3, y += Q() * U - 8,
              z += T(R - 11) * P + Q() * 6 - 3,
              j / H * 20 + ((j += U) > H & Q() > .8 ? Q(P = 9) * 4 : 0) >> 1]
        }
      setInterval(function G(m, l) {
        A = T(D - 11);
        if (l)
          return (
            m[2] - l[2]) * A + (l[0] - m[0]) * T(D);
        a.clearRect(0, 0, W, W);
        J.sort(G);
        for (
          i = 0;
          L = J[i++];
          a.drawImage(M[L[3] + 1], 207 + L[0] * A + L[2] * T(D) >> 0, L[1] >> 1)) {
          if (i == 2e3)
            a.fillText
              ('Happy Christmas!', U, 345);
          if (!(i % 7))
            a.drawImage(M[13],
              ((157 * (i * i) + T(D * 5 + i * i) * 5) % W) >> 0,
              ((113 * i + (D * i) / 60) % (290 + i / 99)) >> 0);
        }
        D += .02
      }, 1)
    </script>


相关文章
|
5月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
5月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
5月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
5月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
5月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
5月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
5月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
5月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
5月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示

热门文章

最新文章

下一篇
oss云网关配置