是否有一种方法可以使用Javascript更改@keyframes(CSS)的值(这种情况下,我使用的是Jquery)
为了更清楚一点,我将其保存在css文件中:
@keyframes bg {
50% { background: #3b99fcff; }
}
.pie::before {
content: '';
position: absolute;
top: 0; left: 50%;
width: 50%; height: 100%;
border-radius: 0 100% 100% 0 / 50%;
background-color: inherit;
transform-origin: left;
animation: spin 50s linear infinite,
bg 100s step-end infinite;
animation-play-state: paused;
animation-delay: inherit;
}
我想用Jquery更改“背景”
答案 0 :(得分:1)
您可以使用CSS variable进行更改:
setTimeout(() => {
console.log("changing");
document.getElementById("fizz").style.setProperty("--foo", "green");
}, 2000);
:root {
--foo: blue;
}
@keyframes hello {
from {
background-color: yellow;
}
to {
background-color: var(--foo);
}
}
#fizz {
height: 1em;
animation: 1s infinite alternate hello;
}
<div id="fizz">
<div>