JavaScript实现小球在指定区域内反弹运动
作者:页面旅途时间:2026-10-23 19:22:17浏览:645
本文通过JavaScript代码演示如何实现小球在指定矩形区域内的运动效果。核心逻辑利用定时器驱动小球位置更新,并通过检测小球坐标与容器边界的相对关系,在触达边界时反转运动速度方向,从而实现反弹效果。
JavaScript小球边界反弹运动实现
本文分享了一段使用JavaScript控制小球在特定范围内运动的完整代码示例,供读者参考学习。
该实现的核心功能是让小球在页面设定的区域内持续运动,当小球接触到区域边界时,自动改变其运动方向。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>小球运动</title>
<style type="text/css">
#box {
width: 600px;
height: 300px;
border: 1px solid red;
position: relative;
}
#ball {
width: 50px;
height: 50px;
border-radius: 25px;
background-color: yellow;
position: absolute;
top: 0;
left: 0;
}
button {
position: relative;
}
</style>
</head>
<body>
<div id="box">
<div id="ball">
</div>
</div>
<button id="stop" onclick="fly()">开始</button>
<button id="stop" onclick="stop()">停止</button>
<script type="text/javascript">
var ball = document.getElementById("ball");
//console.log(ball.offsetLeft);
var sport;
function fly() {
var speedx = 1;
var speedy = 1;
sport = setInterval(function () {
ball.style.left = ball.offsetLeft + speedx + 'px';
ball.style.top = ball.offsetTop + speedy + 'px';
if (ball.offsetTop >= 300 -50 || ball.offsetTop <= 0) {
speedy *= -1;
}
if (ball.offsetLeft >= 600 -50 || ball.offsetLeft <= 0) {
speedx *= -1;
}
}, 10)
}
function stop() {
clearInterval(sport); //停止小球的运动
}
</script>
</body>
</html>
具体运行效果如下图所示:

以上即为本文的全部内容,希望这段代码能为大家的学习提供有益帮助,同时也欢迎大家继续支持本站。
作者最新文章
JS监听滚动事件:回到顶部按钮的显示与隐藏逻辑
2026-11-05 16:19:37
JavaScript怎么读写LocalStorage与SessionStorage
2026-11-05 15:40:11
anime.js 与 GSAP 对比:轻量级项目该怎么选择动画库
2026-11-05 11:24:55
flv.js 与 hls.js 在直播场景下的选型对比
2026-11-05 08:18:52
JavaScript能做什么?前端开发中的作用与应用场景解析
2026-11-04 23:17:54
