当前位置:首页 > JavaScript

js实现动画

2026-01-12 12:49:54JavaScript

使用 CSS 动画与 JavaScript 控制

通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classList 控制动画状态。

/* CSS 定义 */
.animate {
  animation: fadeIn 2s ease-in-out;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
// JavaScript 触发
const element = document.getElementById('target');
element.classList.add('animate');

使用 requestAnimationFrame

手动控制每一帧的渲染,适合复杂动画逻辑。通过递归调用实现连续动画。

js实现动画

function animate(element, duration) {
  const start = performance.now();
  function update(time) {
    const elapsed = time - start;
    const progress = Math.min(elapsed / duration, 1);
    element.style.transform = `translateX(${progress * 200}px)`;
    if (progress < 1) {
      requestAnimationFrame(update);
    }
  }
  requestAnimationFrame(update);
}
animate(document.getElementById('box'), 1000);

使用 Web Animations API

原生支持的动画 API,可直接操作动画属性和时间。

js实现动画

const element = document.getElementById('target');
element.animate(
  [
    { opacity: 0, transform: 'translateY(-20px)' },
    { opacity: 1, transform: 'translateY(0)' }
  ],
  {
    duration: 1000,
    easing: 'ease-out'
  }
);

使用第三方库(如 GSAP)

GSAP 提供更强大的时间轴控制和复杂动画序列。

gsap.to("#target", {
  x: 100,
  duration: 1,
  rotation: 360,
  ease: "bounce.out"
});

性能优化建议

避免频繁触发重排和重绘。使用 transformopacity 属性(硬件加速),减少动画元素的数量,必要时使用 will-change 提示浏览器。

.target {
  will-change: transform, opacity;
}

标签: 动画js
分享给朋友:

相关文章

vue 动画 实现

vue 动画 实现

vue 动画实现方法 Vue 提供了多种方式实现动画效果,主要包括过渡动画和动态动画两类。 使用 <transition> 组件实现基础过渡 通过 Vue 内置的 <transi…

css3动画在线制作

css3动画在线制作

CSS3 动画在线制作工具 以下是一些常用的在线工具和平台,可以帮助快速生成 CSS3 动画代码,无需手动编写: Animista 网址:https://animista.net/ 特点:提供预设的…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: cons…