zoukankan      html  css  js  c++  java
  • 面对对象的雪花飘落

      动画效果很是炫酷,那你们用面对对象做过一些动画么。

      今天就来瞧瞧利用面对对象来做的雪花飘落吧!

      首先呢我们先在页面上创建一个div标签,让他占满这个页面,之后在这个div 里面用面对对象创建出雪花,然后给对象添加属性与方法。

      快来看看代码吧!

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
        </style>
    </head>
    <body>
    <div id="img" style=" 100%;height: 100%">
        <img src="2010011711303711.bmp" style=" 100%;height: 625px"/>
    </div>
    <script>
        function Div(){
            //创建一个雪花图片
            this.div = document.createElement("img");
            //设置一个随机数
            var size=Math.floor(Math.random()*(30-10+1)+10);
            //设置雪花的随机大小
            this.height = size;
            this.width = size;
            //设置雪花的随机位置
            this.x = Math.random()*1300+"px";
            this.y = Math.random()*600+"px";
            //将一些样式添加给雪花
            this.createDiv = function(){
                this.div.style.height = this.height+"px";
                this.div.style.width = this.width+"px";
                this.div.style.left = this.x;
                this.div.style.top = this.y;
                this.div.src="snow1.png";
                this.div.style.position = "absolute";
                document.getElementById("img").appendChild(this.div);
            }
        }
        //给Div的原型添加一个dow属性
        Div.prototype.down = function(){
            var y=parseInt(this.y);
            var self=this;
            setInterval(function(){
                if(y>600){
                    self.div.remove();
                }else{
                    self.div.style.top = y++ +"px";
                }
            },10);
        };
    
        var fuc = function(){
        var div = new Div();
        div.createDiv();
        div.down();
        };
    //    设定计时器,让雪花每隔0.1s随机飘落
        setInterval(fuc,100);
    </script>
    </body>
    </html>

     效果图:

  • 相关阅读:
    Codeforces Round #600 (Div. 2) A. Single Push
    Codeforces Round #600 (Div. 2) B. Silly Mistake
    106. 从中序与后序遍历序列构造二叉树
    23. 合并K个升序链表
    203. 移除链表元素
    328. 奇偶链表
    86. 分隔链表
    面试题 02.05. 链表求和
    面试题 02.02. 返回倒数第 k 个节点
    剑指 Offer 18. 删除链表的节点
  • 原文地址:https://www.cnblogs.com/yhyanjin/p/7086830.html
Copyright © 2011-2022 走看看