JavaScript实现小球圆周运动动画
作者:竹影时间:2026-10-21 23:19:36浏览:576
本文介绍如何使用JavaScript实现小球的圆周运动动画。通过HTML5 Canvas绘制小球,利用requestAnimationFrame控制帧率,结合三角函数计算坐标变化,实现平滑的旋转效果。代码包含完整的HTML结构和JS逻辑,适合前端初学者学习动画原理。
小球圆周运动动画实现
效果展示

图(1)

图(2)
具体实现代码如下:
<html>
<head>
<title>JS动画之转动的小球</title>
<style type="text/css">
div{width:20px;height:20px;background-color:black;position:absolute;border:1px solid red;border-radius:50%;}
</style>
</head>
<body>
<div id="box"></div>
<script type="text/javascript">
var box=document.getElementById('box');
box.style.left="600";
box.style.top="300px";
var n=0; //正弦函数的横坐标,理解为时间轴好一点。
function rotation()
{
box.style.left=(600-Math.sin(1/180)*80)+Math.sin(n/180)*80+"px"; //300是小球的没开始运动的初始位置,n表示时间轴,后边是除数是为了将时间细分,使运动更平滑,80表示半径。
box.style.top=(300-Math.cos(1/180)*80)+Math.cos(n/180)*80+"px"; //第一个括号中的内容是为了让小球在开始运动时处于初始位置(300,300)
var dr = document.createElement('div');
dr.style.left=(600-Math.sin(1/180)*80)+Math.sin(n/180)*80+"px";
dr.style.top=(300-Math.cos(1/180)*80)+Math.cos(n/180)*80+"px";
document.body.appendChild(dr);
n++;
if(n>180*2*Math.PI)return false; // 0 到 2π 为一个转动周期,如果要半圆,只需将n的取值范围减半,如需反方向转动,调换left和top的值即可。
setTimeout(rotation,1);
}
rotation();
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!
作者最新文章
怎么在iframe中独立重新加载JS脚本
2026-11-05 18:19:37
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
