JavaScript 动画属性可以通过多种方式设置,主要包括使用 CSS 属性和 JavaScript 库(如 jQuery)。以下是一些基础概念和相关设置方法:
@keyframes
规则定义动画序列,然后应用到元素上。/* 定义关键帧 */
@keyframes slideIn {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
/* 应用到元素 */
.animated-element {
animation: slideIn 2s ease-in-out;
}
function animateElement() {
const element = document.getElementById('animated-element');
let start = null;
const duration = 2000; // 动画持续时间,单位毫秒
function step(timestamp) {
if (!start) start = timestamp;
const progress = timestamp - start;
const percentage = Math.min(progress / duration, 1);
element.style.transform = `translateX(${percentage * 100}%)`;
if (progress < duration) {
window.requestAnimationFrame(step);
}
}
window.requestAnimationFrame(step);
}
animateElement();
$('#animated-element').animate({
left: '100px'
}, 2000);
transform
和 opacity
属性,这些属性在现代浏览器中可以通过 GPU 加速。width
, height
, margin
)。requestAnimationFrame
来同步动画帧与屏幕刷新率。通过上述方法,可以有效设置和控制 JavaScript 动画,提升用户体验。