我在CSS文件中有一些关键帧动画。已经指定了animation-delay。
包装器div具有data-delay属性。
我想获取CSS文件中的animation-delay,并将data-delay的值添加到其中。 然后,我希望动画以新延迟开始。
我尝试过ele[i].style.animationDelay。 但是这似乎返回null,直到我给它设置一个值为止。
如果我设置ele[i].style.animationDelay ='5s',动画仍以CSS文件中的延迟运行。
HTML
我想获取CSS文件中的animation-delay,并将data-delay的值添加到其中。 然后,我希望动画以新延迟开始。
我尝试过ele[i].style.animationDelay。 但是这似乎返回null,直到我给它设置一个值为止。
如果我设置ele[i].style.animationDelay ='5s',动画仍以CSS文件中的延迟运行。
HTML
<div id="wrapper" data-delay="2s" >
<h1 id="hi">Hi</h1>
<h1 id="name">test!</h1>
</div>
CSS
body { font-size: 300%; }
#wrapper h1 { position: absolute; }
#hi {
transform: translate(-200px, 100px);
animation-name: hi;
animation-duration: .5s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 0s;
}
#name {
transform: translate(-200px, 150px);
animation-name: name;
animation-duration: .5s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes hi{
100% { transform: translate(50px, 100px) };
}
@keyframes name{
100% { transform: translate(50px, 150px) };
}
JS
var wrapper = document.getElementById('wrapper');
var ele = wrapper.children;
var delay = wrapper.getAttribute('data-delay');
for (var i=0;i<ele.length;i++) {
alert(ele[i].style.animationDelay);
ele[i].style.animationDelay = delay;
alert(ele[i].style.animationDelay);
}