当前位置:首页 > JavaScript

js实现圆周

2026-02-01 23:14:05JavaScript

JavaScript 实现圆周运动

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

使用 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 属性实现圆周运动:

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 方向的半径,可以实现椭圆运动:

js实现圆周

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

性能优化

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

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

相关文章

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…