JavaScript 制作动画主要依赖于定时器(如 setTimeout 和 setInterval)或者更现代的 requestAnimationFrame API 来实现。以下是一些基础概念和相关内容:
requestAnimationFrame 可以确保动画与浏览器的刷新率同步,从而提高性能。以下是一个简单的使用 requestAnimationFrame 实现的平移动画示例:
const box = document.getElementById('box');
let start;
let progress;
function step(timestamp) {
if (!start) start = timestamp;
progress = timestamp - start;
// 移动元素
box.style.transform = `translateX(${Math.min(progress / 10, 200)}px)`;
if (progress < 2000) { // 动画持续 2 秒
requestAnimationFrame(step);
}
}
requestAnimationFrame(step);requestAnimationFrame 来确保动画与浏览器的刷新率同步。通过以上方法,可以有效地创建和管理 JavaScript 动画,提升用户体验和应用性能。