animation
是 CSS3 中的一个属性,用于创建复杂的动画效果。通过 animation
属性,可以定义元素的动画序列,包括动画的持续时间、延迟、次数、方向等。
@keyframes
规则定义动画的关键帧,浏览器会自动计算中间帧。transition
属性实现简单的状态变化动画。以下是一个简单的 JavaScript 设置 CSS 动画的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Animation Example</title>
<style>
.box {
width: 100px;
height: 100px;
background-color: red;
margin: 20px;
}
@keyframes move {
0% { transform: translateX(0); }
100% { transform: translateX(200px); }
}
</style>
</head>
<body>
<div class="box" id="box"></div>
<script>
// 获取元素
const box = document.getElementById('box');
// 设置动画
function startAnimation() {
box.style.animation = 'move 2s linear infinite';
}
// 停止动画
function stopAnimation() {
box.style.animation = 'none';
}
// 示例:点击按钮开始动画
document.addEventListener('DOMContentLoaded', () => {
const button = document.createElement('button');
button.textContent = 'Start Animation';
button.onclick = startAnimation;
document.body.appendChild(button);
});
</script>
</body>
</html>
原因:
@keyframes
规则未正确定义。解决方法:
@keyframes
规则是否正确。animation
属性。原因:
解决方法:
requestAnimationFrame
来优化 JavaScript 动画。通过以上方法和示例代码,可以有效设置和应用 CSS 动画,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云