Home >Web Front-end >JS Tutorial >JS realizes dynamic snowflakes falling

JS realizes dynamic snowflakes falling

php中世界最好的语言
php中世界最好的语言Original
2018-04-18 09:12:472750browse

This time I will bring you JS to realize dynamic snowflakes falling. What are the precautions for JS to realize dynamic snowflakes falling? The following is a practical case, let’s take a look.

<!DOCTYPE html>
<html>
<head>
    <meta content="text/html" charset="utf-8">
    <title>飘雪</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
            font-family:"微软雅黑";
            font-size:13px;
            color:#ffffff;
        }
        body{
            background:#00a0fc;
            overflow:hidden;
        }
    </style>
</head>
<body>
</body>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
//    窗口大小
    var oPageX=window.screen.width;
    var oPageY=window.screen.height;
    var aSnow=[];
//    雪花模板
    function snow(x,y,xspeed,yspeed,xsin,size){//x水平位置,y垂直位置,xspeed水平步距,yspeed垂直步距,xsin振幅,size雪花大小
        this.node=document.createElement('p');
        this.x=x;
        this.y=y;
        this.xspeed=xspeed;
        this.yspeed=yspeed;
        this.xsin=xsin;
        this.size=size;
        this.createSnow=function(){
            this.node.style.position='absolute';
            this.node.style.top=this.y+'px';
            this.node.style.left=this.x+'px';
            this.node.innerHTML='*';
            document.body.appendChild(this.node);
        };
        this.createSnow();
        this.snowMove=function(){
            this.node.style.top=parseInt(this.node.style.top)+this.yspeed+'px';//垂直方向运动
            this.node.style.left=parseInt(this.node.style.left)+this.xsin*Math.sin(this.xspeed)+'px';
            this.node.style.fontSize=this.size+'px';
//            this.node.style.color='rgb('+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+')';
        };
    }
//    创建雪花
    function createSnow(){
        aSnow.push(new snow(Math.random()*oPageX,-50,0.02+Math.random()/10,1+Math.random(),Math.random()*30,20+Math.random()*30));
    }
    setInterval(createSnow,1000);//一秒钟创建一个雪花
//    雪花移动函数
    function snowMove(){
        for(var j=0;j<aSnow.length;j++){
            aSnow[j].snowMove();
            if(parseInt(aSnow[j].node.style.top)>oPageY || parseInt(aSnow[j].node.style.left)>oPageX){
                aSnow[j].node.parentNode.removeChild(aSnow[j].node);
                aSnow.splice(j,1);
            }
        }
    }
    setInterval(snowMove,10);
</script>
</html>

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

JS canvas draws pie charts

react-native-fs plug-in usage case details

The above is the detailed content of JS realizes dynamic snowflakes falling. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:JS+canvas draws pie chartNext article:JS+canvas draws pie chart