当前位置: 首页 > news >正文

JS圣诞树

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页: Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏: 前端案例分享专栏
✨特色专栏: 国学周更-心性养成之路
🥭本文内容:JS圣诞树
更多内容点击 👇
       QQ注册界面仿写(HTML+CSS+JS)

💖 前言

一年一度的圣诞节就要到了,最近大家都还在坚持学习吗?本人昨天也不幸杨过了,今天满血复活,是什么给了我这么大的动力?我想应该是学习!今天趁着圣诞节到来之前,送大家一颗吉祥的圣诞树,愿所有的朋友都能健健康康,平平安安的挺过这最艰难的时刻!

💖 效果展示

💖 代码分享

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <link rel="stylesheet" href="css/domtree.css">
        <style>
            body{
                background-color: black;
            }
            #c{
                width: 1080px;
                height: 1080px;
            }
        </style>
    </head>
    <body>
        <canvas id="c">
            <script>
                var collapsed = true;
                function toggle() {
                    var fs = top.document.getElementsByTagName('frameset')[0];
                    var f = fs.getElementsByTagName('frame');
                    if (collapsed) {
        
                        fs.rows = '30px,*';
        
                        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 = 14;
        
                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 ? 100 : W = 450;
        
                        with (getContext('2d'))
        
                        if (k > 10 | !k)
        
                            for (
        
                                font = '60px Impact',
        
                                V = 'rgba('; I = i * U, fillStyle = k ? k == 13 ? V + '305,305,315,.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
        
                                ('Marry Christmas!', U, 360);
        
                        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>
        </canvas>
    </body>
</html>

💖 结尾

这是我加入CSDN迎来的第一个圣诞节,很开心在这里能遇到这么一群志同道合爱学习的博友们,未来路很长,原有彼此相伴而不感到孤单!也希望自己能创造处更多有价值的博文,帮助更多正在学习的博友去攻克他所需要的知识。

路漫漫其修远兮,吾将上下而求索。写的不好的地方,也欢迎博友们批评指正,愿意虚心接受意见,成就更好的自己!


码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

相关文章:

  • Linux 安装nginx, 搭建nginx文件服务器
  • [洛谷]P3613 【深基15.例2】寄包柜
  • 蓝桥杯-飞行员兄弟
  • Bash 中的 Echo 换行符打印文字 \n
  • 【力学性能预测】基于BP神经网络的钢板力学性能预测(附完整代码和数据集,系列1)
  • 基于pytorch搭建CNN 对人像是否戴口罩进行检测分类 详细教程
  • 【正点原子I.MX6U-MINI移植篇】kernel移植过程详解(二)
  • ConfigParser模块
  • (一)汇编语言——基础知识
  • 5 | 如何更换证书
  • python新年倒计时代码
  • 电脑系统下载的镜像文件在哪里图解
  • 在tushare量化平台可以获取哪些数据?
  • Java+SSM客户信息管理系统(含源码+论文+答辩PPT等)
  • 设计测试用例的方法
  • 安卓架构-内核
  • 2022年总结——实习
  • Python爬虫详解
  • MySQL基础操作汇总(干货)
  • Web3中文|随着世界杯结束,web3体育可能达到800亿美元
  • 哈莉·贝瑞、洪常秀等出任戛纳主竞赛单元评委
  • 王毅会见泰国外长玛里:坚决有力打击电诈等跨境犯罪
  • 长三角议事厅·周报|长三角游戏出海,关键在“生态输出”
  • “杭州六小龙”的招聘迷局
  • 中介在网上非法贩婴“一个孩子8.5万元”?丹阳警方介入
  • 外交部回应涉长江和记出售巴拿马运河港口交易:望有关各方审慎行事,充分沟通