0
我有一個CSS動畫。我將它應用到我的div元素中的span範圍內。我申請從外部樣式表:CSS3重置動畫需要超時(如果從外部樣式表設置動畫)
.skill > span { width:100%; -moz-animation:anim-skill 2s ease-out; -webkit-animation:anim-skill 2s ease-out; }
.anim-skill {width:100%; animation:anim-skill 2s ease-out; -moz-animation:anim-skill 2s ease-out; -webkit-animation:anim-skill 2s ease-out; -o-animation:anim-skill 2s ease-out;}
@keyframes anim-skill { from {width:0px;} to {width:100%} }
當我想重置在運行時的動畫我這樣做:
var mySkill = document.querySelector('.skill');
var bar = mySkill.childNodes[0];
//make it "from" state
bar.style.animation = 'none';
mySkill.style.width = 0;
//make it run
setTimeout(function() {
mySkill.style.width = '';
bar.style.animation = '';
}, 20);
這是非常哈克。有沒有辦法在不使用setTimeout的情況下重置動畫?注意:如果我的超時時間是10ms或更短,它也不起作用。
啊!精湛的感謝之人!我將使用此方法! :)後來當我想開始動畫時,我只是再次設置動畫。 :) – Noitidart