当前位置:首页 > JavaScript

js实现圆周

2026-02-01 23:14:05JavaScript

JavaScript 实现圆周运动

在 JavaScript 中实现圆周运动通常涉及三角函数(Math.sinMath.cos)来计算圆周上的点坐标。以下是几种常见的实现方式:

js实现圆周

使用 Canvas 绘制圆周运动

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
let angle = 0;
const radius = 50;
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;

function animate() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);

    // 计算圆周上的点坐标
    const x = centerX + Math.cos(angle) * radius;
    const y = centerY + Math.sin(angle) * radius;

    // 绘制圆和运动点
    ctx.beginPath();
    ctx.arc(centerX, centerY, radius, 0, Math.PI * 2);
    ctx.stroke();

    ctx.beginPath();
    ctx.arc(x, y, 5, 0, Math.PI * 2);
    ctx.fill();

    angle += 0.05;
    requestAnimationFrame(animate);
}

animate();

使用 CSS 和 JavaScript 实现圆周运动

通过动态更新 CSS 的 transform 属性实现圆周运动:

js实现圆周

const element = document.getElementById('circle');
let angle = 0;
const radius = 100;

function animate() {
    const x = Math.cos(angle) * radius;
    const y = Math.sin(angle) * radius;

    element.style.transform = `translate(${x}px, ${y}px)`;
    angle += 0.05;
    requestAnimationFrame(animate);
}

animate();

参数说明

  • angle:当前角度(弧度制),随时间递增。
  • radius:圆周运动的半径。
  • centerXcenterY:圆心坐标(Canvas 示例中为画布中心)。

扩展:椭圆运动

通过调整 x 和 y 方向的半径,可以实现椭圆运动:

const x = centerX + Math.cos(angle) * radiusX;
const y = centerY + Math.sin(angle) * radiusY;

性能优化

  • 使用 requestAnimationFrame 实现平滑动画。
  • 避免频繁的 DOM 操作(如 CSS 示例中可缓存 transform 值)。

标签: 圆周js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…