zoukankan      html  css  js  c++  java
  • js五彩小球

      1 <!doctype html>
      2 
      3 <html lang="en">
      4 
      5 <head>
      6 
      7     <meta charset="UTF-8">
      8 
      9     <title>Document</title>
     10 
     11     <style type="text/css">
     12 
     13     *{
     14 
     15         margin: 0px;
     16 
     17         padding: 0px;
     18 
     19     }
     20 
     21     html,body{
     22 
     23         height: 100%;
     24 
     25         width: 100%;
     26 
     27         overflow: hidden; /*隐藏滚动条,消除小球碰到滚动条出现的窗口闪动*/
     28 
     29     }
     30 
     31     .content{
     32 
     33         width: 100%;
     34 
     35         height: 100%;
     36 
     37         position: relative;
     38 
     39         background: black;
     40 
     41  
     42 
     43     }
     44 
     45     .ball{
     46 
     47         position: absolute;
     48 
     49         border-radius: 50%;
     50 
     51     }
     52 
     53     </style>
     54 
     55 </head>
     56 
     57 <body>
     58 
     59     <div class="content" id="con"></div>
     60 
     61     <script type="text/javascript">
     62 
     63     //定义随机函数
     64 
     65     function RandomNum(num1,num2){
     66 
     67         return Math.floor(Math.random()*(num2-num1+1)+num1);
     68 
     69  
     70 
     71     }
     72 
     73     //构造小球函数
     74 
     75     function Ball(){
     76 
     77         this.ball=document.createElement("div");
     78 
     79         var randomNum=RandomNum(20,50);
     80 
     81         this.width=randomNum
     82 
     83         this.height=randomNum
     84 
     85         //如果元素有id名,我们可以直接使用,不用document.get....获取
     86 
     87         this.left=RandomNum(0,con.offsetWidth-randomNum);
     88 
     89         this.top=RandomNum(0,con.offsetHeight-randomNum);
     90 
     91         this.backgroundColor="rgba("+RandomNum(0,255)+","+RandomNum(0,255)+","+RandomNum(0,255)+","+Math.random()+")";//随机颜色
     92 
     93         this.tempX=this.left;
     94 
     95         this.tempY=this.top;
     96 
     97         this.speedx=RandomNum(10,20)-15.5;//后面的小数是保证随机产生的方向有正有负
     98 
     99         this.speedy=RandomNum(10,20)-15.5;
    100 
    101     }
    102 
    103     //画小球的方法
    104 
    105     Ball.prototype.draw=function(){
    106 
    107         this.ball.style.width=this.width+"px";
    108 
    109         this.ball.style.height=this.height+"px";
    110 
    111         this.ball.className="ball";
    112 
    113         this.ball.style.left=this.tempX+"px";
    114 
    115         this.ball.style.top=this.tempY+"px";
    116 
    117         this.ball.style.backgroundColor=this.backgroundColor;
    118 
    119         con.appendChild(this.ball);
    120 
    121     }
    122 
    123     
    124 
    125  
    126 
    127     //运动函数
    128 
    129     Ball.prototype.move=function(){
    130 
    131  
    132 
    133         this.tempX=this.tempX+this.speedx;    
    134 
    135         this.tempY=this.tempY+this.speedy;
    136 
    137      // 判断临界值
    138 
    139         if(this.tempX+this.width>=document.body.clientWidth||this.tempX<=0){
    140 
    141             this.speedx = -this.speedx;//改变方向
    142 
    143         }
    144 
    145         if(this.tempY+this.height>=document.body.clientHeight||this.tempY<=0) {
    146 
    147             this.speedy = -this.speedy;
    148 
    149         }
    150 
    151          this.draw();
    152 
    153     }
    154 
    155     //产生小球
    156 
    157     var balls=[];
    158 
    159     for(var i=0;i<100;i++){
    160 
    161         var ball=new Ball();
    162 
    163         balls.push(ball);//生成的小球对象放进数组
    164 
    165             
    166 
    167     }
    168 
    169     function start(){
    170 
    171          for(var i = 0;i < balls.length;i++) { 
    172 
    173           balls[i].move();
    174 
    175      } 
    176 
    177     }
    178 
    179     window.onload=function(){
    180 
    181         setInterval(start,10);//设置定时器
    182 
    183     }
    184 
    185  
    186 
    187     </script>
    188 
    189 </body>
    190 
    191 </html>
  • 相关阅读:
    javascript中的时间控制函数
    javascript在事件监听方面的兼容性总结
    javascript程序库比较(二):事件处理
    又要开始了
    ASP.NET怎么防止多次点击提交按钮重复提交
    asp.net中ashx文件如何调用session
    Session超时和丢失,如何让Sessioon永不过期
    组件
    csss
    C# JSONHelper之Json转换方法大全
  • 原文地址:https://www.cnblogs.com/yuer20180726/p/11151532.html
Copyright © 2011-2022 走看看