碰撞
2016-07-12 08:33
501 查看
<!DOCTYPE html>
<html>
<head>
<meta
charset="UTF-8">
<title></title>
<style
type="text/css">
.wrap{
width:
1000px;
height:
400px;
border:
1px solid deeppink;
position:
relative;
}
.ball{
width:
50px;
height:
50px;
background-color: red;
position:
absolute;
top:
0;
left:
0;
}
</style>
</head>
<body>
<div
class="wrap">
<div
class="ball"></div>
</div>
<script
type="text/javascript">
// 获取两个div
var
oWrap = document.querySelector(".wrap");
var
oBall = document.querySelector(".ball");
// clientWidth 元素宽度,不包含边框,但包含padding
// 可以运动的范围
var
maxWidth = oWrap.clientWidth -
oBall.offsetWidth;
var
maxHeight = oWrap.clientHeight -
oBall.offsetHeight;
var
timer = null;
clearInterval(timer);
var
speedX = 2;
var
speedY = 5;
timer =
setInterval(function(){
if
(oBall.offsetTop >= maxHeight ||
oBall.offsetTop < 0) {
speedY
*= -1;
}
if
(oBall.offsetLeft >= maxWidth ||
oBall.offsetLeft < 0) {
speedX
*= -1;
}
if
(Math.abs(maxHeight - oBall.offsetHeight)
< speedY) {
oBall.style.Top
= maxHeight + 'px';
}
oBall.style.left
= oBall.offsetLeft + speedX
+ 'px';
oBall.style.top
= oBall.offsetTop + speedY
+ 'px';
},20);
</script>
</body>
</html>
<html>
<head>
<meta
charset="UTF-8">
<title></title>
<style
type="text/css">
.wrap{
width:
1000px;
height:
400px;
border:
1px solid deeppink;
position:
relative;
}
.ball{
width:
50px;
height:
50px;
background-color: red;
position:
absolute;
top:
0;
left:
0;
}
</style>
</head>
<body>
<div
class="wrap">
<div
class="ball"></div>
</div>
<script
type="text/javascript">
// 获取两个div
var
oWrap = document.querySelector(".wrap");
var
oBall = document.querySelector(".ball");
// clientWidth 元素宽度,不包含边框,但包含padding
// 可以运动的范围
var
maxWidth = oWrap.clientWidth -
oBall.offsetWidth;
var
maxHeight = oWrap.clientHeight -
oBall.offsetHeight;
var
timer = null;
clearInterval(timer);
var
speedX = 2;
var
speedY = 5;
timer =
setInterval(function(){
if
(oBall.offsetTop >= maxHeight ||
oBall.offsetTop < 0) {
speedY
*= -1;
}
if
(oBall.offsetLeft >= maxWidth ||
oBall.offsetLeft < 0) {
speedX
*= -1;
}
if
(Math.abs(maxHeight - oBall.offsetHeight)
< speedY) {
oBall.style.Top
= maxHeight + 'px';
}
oBall.style.left
= oBall.offsetLeft + speedX
+ 'px';
oBall.style.top
= oBall.offsetTop + speedY
+ 'px';
},20);
</script>
</body>
</html>
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表
- node.js抓取并分析网页内容有无特殊内容的js文件
- PHP+JS实现大规模数据提交的方法
- 仿51JOB的地区选择效果(可选择多个地区)