在循环中使用随机值重新启动CSS动画可以通过以下步骤实现:
下面是一个示例代码:
<!DOCTYPE html>
<html>
<head>
<style>
.animation {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 2s;
}
@keyframes example {
0% {background-color: red;}
50% {background-color: yellow;}
100% {background-color: blue;}
}
</style>
</head>
<body>
<div id="myElement" class="animation"></div>
<script>
function restartAnimation() {
var element = document.getElementById("myElement");
var randomValue = Math.random() * 100; // 生成0到100之间的随机数
element.style.animationDelay = randomValue + "s";
element.classList.remove("animation");
void element.offsetWidth; // 强制重绘
element.classList.add("animation");
}
setInterval(restartAnimation, 5000); // 每5秒重新启动动画
</script>
</body>
</html>
在上述示例中,我们定义了一个名为"animation"的CSS类,其中包含了一个简单的颜色变化动画。通过JavaScript中的restartAnimation()函数,我们在每5秒钟重新启动动画。在函数中,我们首先获取了要应用动画的元素,然后生成一个0到100之间的随机数,并将其应用到animationDelay属性上。接着,我们通过移除和添加CSS类的方式重新启动动画。
这样,循环中使用随机值重新启动CSS动画的功能就实现了。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云