JS动画为什么卡顿不流畅?
我用 JS 写了个简单的元素移动动画,但明显感觉卡顿,不像 CSS 动画那么顺滑。是不是我写的方式有问题?
试过用 setInterval 每 16ms 改一次 left 值,也换成 requestAnimationFrame 了,还是不够流畅。代码大概长这样:
let pos = 0;
const box = document.getElementById('box');
function animate() {
pos += 2;
box.style.left = pos + 'px';
if (pos < 300) requestAnimationFrame(animate);
}
animate();
百里梓熙
Lv1
你这个问题 DOM 操作太多了,改成 transform 属性试试。这样改:
点赞
2026-03-21 09:09