Web Animation API 是用于创建和控制 Web 动画的 API,它提供了更多控制动画的能力。下面是一个简单的示例代码,演示如何使用 Web Animation API 来创建和控制一个简单的动画效果。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
/* 定义一个基本的样式,将在动画中改变 */
#animated-element {
width: 100px;
height: 100px;
background-color: red;
}
</style>
</head>
<body>
<div id="animated-element"></div>
<script>
const element = document.getElementById('animated-element');
// 创建一个 keyframes 动画
const keyframes = [
{ transform: 'translateX(0)' },
{ transform: 'translateX(200px)' },
];
// 创建一个动画效果
const animation = element.animate(keyframes, {
duration: 1000, // 动画持续时间
iterations: Infinity, // 无限次重复
direction: 'alternate', // 反向重复
easing: 'ease-in-out', // 缓动函数
});
// 添加控制按钮
const startButton = document.createElement('button');
startButton.textContent = '开始动画';
startButton.addEventListener('click', () => {
animation.play(); // 开始动画
});
const pauseButton = document.createElement('button');
pauseButton.textContent = '暂停动画';
pauseButton.addEventListener('click', () => {
animation.pause(); // 暂停动画
});
const reverseButton = document.createElement('button');
reverseButton.textContent = '反向动画';
reverseButton.addEventListener('click', () => {
animation.reverse(); // 反向动画
});
document.body.appendChild(startButton);
document.body.appendChild(pauseButton);
document.body.appendChild(reverseButton);
</script>
</body>
</html>
这个示例创建了一个在水平方向上往返移动的动画,通过 animate() 方法创建了一个动画实例,并使用按钮来控制动画的播放、暂停和反向。可以根据需要更改动画的参数以及添加其他控制方法。 网友回复


