JavaScript 实现小球碰壁反弹动画
作者:竹影时间:2026-10-30 13:06:29浏览:592
本文介绍如何使用JavaScript结合CSS实现小球在容器内的碰壁反弹动画。通过movex和movey变量控制运动方向,利用定时器更新元素位置,并在边界处反转坐标实现反弹逻辑。
JavaScript 实现小球碰壁反弹动画
本文通过一个具体的实例,展示如何利用JavaScript代码实现小球在容器内碰壁反弹的动画效果。详细的实现逻辑请参考下方的代码部分。
HTML结构与CSS样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>碰撞小球</title>
<style>
#box{
width: 1000px;
height: 800px;
position: relative;
border:1px solid red;
margin:50px auto 0;
}
#boll{
width: 50px;
height: 50px;
/* border-radius: 25px;*/
border:1px solid green;
position: absolute;
top: 66px;
left: 88px;
}
</style>
</head>
<body>
<div id="box">
<div id="boll"></div>
</div>
<script>
var box=document.getElementById('box');
var boll=document.getElementById('boll');
var x=88,y=66,timer1=null,movex=1,movey=1;
console.log(box.clientWidth-boll.clientWidth);
console.log(box.clientWidth-boll.offsetWidth);
timer1=setInterval(function(){
if (movex) {//判断方向
x++;
if (x>=box.clientWidth-boll.clientWidth) {
movex=0;
}boll.style.left=x+'px';}
else{
x--;
if (x<=0) {
movex=1;
}boll.style.left=x+'px';
}
if (movey) {
y++;
if (y>=box.clientHeight-boll.clientHeight) {
movey=0;
}boll.style.top=y+'px';
}else{
y--;
if (y<=0) {
movey=1;
}boll.style.top=y+'px';
}
},1)
</script>
</body>
</html>
运动方向控制逻辑
在运动逻辑中,movex和movey这两个变量用于判断小球当前的运动方向。
以上就是本文的全部内容,希望能为读者的学习提供有益的帮助,同时也欢迎大家继续支持本站。
作者最新文章
JS怎么使用classList添加、删除和切换class
2026-11-05 17:26:02
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
