zoukankan      html  css  js  c++  java
  • 一个简单的触壁反弹(js原生)

    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    <meta charset="UTF-8">
    
    <title></title>
    
    <style type="text/css">
    
    *{padding: 0;margin: 0;}
    
    #box{width: 500px;height: 350px;border:1px solid #ccc;margin: 20px auto 0;position: relative;}
    
    #ball{width: 50px;height: 50px;background: red;position: absolute;top:0;left: 0;}
    
    #btn{width: 50px;height: 50px;cursor: pointer;background: green;}
    
    </style>
    
    </head>
    
    <body>
    
    <div id="box">
    
      <div id="ball">
    
      </div>
    
    </div>
    
    <div id="btn">
    
     
    
    </div>
    
    </body>
    
    </html>
    
    <script type="text/javascript">
    
    var box=document.getElementById("box");
    
    var ball=document.getElementById("ball");
    
    var btn=document.getElementById("btn");
    
    var speedX=10;//横向的移动速度
    
    var speedY=10;//横向的移动速度
    
    //点击更改ball的速度
    
    btn.onclick=function(){
    
    speedX=parseInt(Math.random()*4+1)+2;
    
    speedY=parseInt(Math.random()*4+1)+2;
    
    }
    
    setInterval(function(){
    
    ball.style.left=ball.offsetLeft+speedX+"px";
    
    ball.style.top=ball.offsetTop+speedY+"px";
    
    //判断ball的位置 触壁speed取反
    
    if(ball.offsetLeft>=box.clientWidth-ball.offsetWidth||ball.offsetLeft<=0){
    
    speedX*=-1;
    
    }
    
    if(ball.offsetTop>=box.clientHeight-ball.offsetHeight||ball.offsetTop<=0){
    
    speedY*=-1;
    
    }
    
    },30)
    
    </script>

    主要运用的知识点:原生的js碰撞检测

  • 相关阅读:
    JSON解析
    [Git的常见使用方式]
    [二进制]原码,反码,补码
    [伪] 级联菜单,两级菜单
    [心得]Java开发中的小心得
    [纪录]仿IOS滚轮效果(竖直滑动选择器)
    web测试总结
    科目组2
    科目组
    凭证:条目视图,总账视图
  • 原文地址:https://www.cnblogs.com/jwhgz/p/6061035.html
Copyright © 2011-2022 走看看