JavaScript 按百分比对关键帧进行动画处理
JavaScript animate key frames by percentage
我正在尝试制作一个物体倾斜的动画,然后设置正确。我的 JavaScript 看起来像这样:
function animate-tip(){
document.getElementById("x").animate(
[0% { transform: "rotate(0deg)"},
30% { transform: "rotate(30deg)"},
100% { transform: "rotate(0deg)"}],
{
duration: 500,
iterations: 1
})
显然这是不正确的语法。我怎样才能让这个动画按百分比工作?
你用偏移量 属性 来做。它必须介于 0 和 1 之间,因此只需除以 100 即可转换百分比。
function animateTip() {
document.getElementById("x").animate(
[{
transform: "rotate(0deg)"
},
{
transform: "rotate(30deg)", offset: 0.3,
},
{
transform: "rotate(0deg)"
}
], {
duration: 3500,
iterations: 1
})
}
animateTip();
#x {
padding: 10px;
background: chartreuse;
display: inline-block;
width: 100px;
height: 100px;
}
<div id="x"></div>
我正在尝试制作一个物体倾斜的动画,然后设置正确。我的 JavaScript 看起来像这样:
function animate-tip(){
document.getElementById("x").animate(
[0% { transform: "rotate(0deg)"},
30% { transform: "rotate(30deg)"},
100% { transform: "rotate(0deg)"}],
{
duration: 500,
iterations: 1
})
显然这是不正确的语法。我怎样才能让这个动画按百分比工作?
你用偏移量 属性 来做。它必须介于 0 和 1 之间,因此只需除以 100 即可转换百分比。
function animateTip() {
document.getElementById("x").animate(
[{
transform: "rotate(0deg)"
},
{
transform: "rotate(30deg)", offset: 0.3,
},
{
transform: "rotate(0deg)"
}
], {
duration: 3500,
iterations: 1
})
}
animateTip();
#x {
padding: 10px;
background: chartreuse;
display: inline-block;
width: 100px;
height: 100px;
}
<div id="x"></div>