Using JS to implement a rotating Christmas tree in HTML

Using JS to implement a rotating Christmas tree in HTML

<!DOCTYPE HEML PUBLIC>
<html>
    <head>
    <meta charset="utf-8">
    <title>
        From ZXW-NUDT
    </title>
        <style>
            body{text-align:center}
            html, body
            {
                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;
                border: 0;
            }
            
            div
            {
                margin: 0;
                padding: 0;
                border: 0;
            }

            .nav
            {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 27px;
                background-color: white;
                color: black;
                text-align: center;
                line-height: 25px;
            }

            a
            {
                color: black;
                text-decoration: none;
                border-bottom: 1px dashed black;
            }

            a:hover
            {
                border-bottom: 1px solid red;
            }

            .previous
            {
                float: left;
                margin-left: 10px;
            }

            .next
            {
                float: right;
                margin-right: 10px;
            }

            .green
            {
                color: green;
            }

            .red
            {
                color: red;
            }

            textarea
            {
                width: 100%;
                height: 100%;
                border: 0;                
                padding: 0;                
                margin: 0;                
                padding-bottom: 20px;              
            }

            .block-outer            
            {                
                float: left;                
                width: 22%;                
                height: 100%;                
                padding: 5px;                
                border-left: 1px solid black;                
                margin: 30px 3px 3px 3px;                
            }

            .block-inner            
            {                
                height: 68%;                
            }

            .one
            {                
                border: 0;                
            }
        </style>
    </head>
<body marginwidth="0" marginheight="0">
    <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(Ui/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(Dx/.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>
</body>
</html>

Regarding adding background music, assume that this HTML file has a folder named music, and there is an audio file music.mp3 in the folder. Then the code should be:

<audio src="music/music.mp3" autoplay="autoplay" loop="loop"></audio>
  • src is the address
  • Autoplay default playback
  • loopDefault loop

Changing the background should be (I haven't tried it anyway):

<div class="image"><img src="images.jpg" alt="" /></div><div class="content">

This concludes this article about implementing a rotating Christmas tree in HTML using JS. I hope it will be helpful for everyone’s study, and I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed explanation of dynamic Christmas tree through JavaScript
  • Implementing Christmas tree code based on JS2Image
  • JavaScript flashing Christmas tree implementation code

<<:  CSS implements various loading effects with parsing process

>>:  Summary of MySQL's commonly used database and table sharding solutions

Recommend

Solution to the problem "Table mysql.plugin doesn't exist" when deploying MySQL

Today I deployed the free-installation version of...

Native js to implement 2048 game

2048 mini game, for your reference, the specific ...

Vue realizes the card flip effect

This article example shares the specific code of ...

How to understand JavaScript modularity

Table of contents 1. Browser support 2. export ex...

MySQL 5.7.17 installation and configuration method graphic tutorial (windows)

1. Download the software 1. Go to the MySQL offic...

Summary of MySQL common SQL statements including complex SQL queries

1. Complex SQL queries 1.1. Single table query (1...

Detailed explanation of the lock structure in MySQL

Mysql supports 3 types of lock structures Table-l...

React concurrent function experience (front-end concurrent mode)

React is an open-source JavaScript library used b...

Use personalized search engines to find the personalized information you need

Many people now live on the Internet, and searchin...

How to use physics engine joints in CocosCreator

Table of contents mousejoint mouse joint distance...

nginx solves the problem of slow image display and incomplete download

Written in front Recently, a reader told me that ...

Implementing a simple timer in JavaScript

This article example shares the specific code of ...