首页 > 代码库 > 一个简单的触壁反弹

一个简单的触壁反弹

<!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>

一个简单的触壁反弹