2012-05-10 7 views
6

私はCSS3アニメーションを使用しており、アニメーションの特定の場所に移動したいと考えています。 CSSはこのようになります(と私はすべての適切な接頭辞を使用することをふりをする)場合には、例えば:特定の場所でCSS3アニメーションを開始するにはどうすればよいですか?

@keyframes fade_in_out_anim { 
    0% { opacity: 0; } 
    25% { opacity: 1; } 
    75% { opacity: 1; } 
    100% { opacity: 0; } 
} 
#fade_in_out { 
    animation: fade_in_out_anim 5s; 
} 

、私はアニメーションを停止できるようにしたい、と50%のマークに移動します。

var style = document.getElementById('fade_in_out').style; 
style.animationPlayState = 'paused'; 

// Here comes the made up part... 
style.animation.moveTo('50%'); // Or alternately... 
style.animationPlayPosition = '50%'; 

誰もが(うまくいけばWebkitの中で)これを実現するための方法を知っています:私は、理想的なJavaScriptは次のようになりますことを推測しますか?

+0

あなたは目標があるなら何についての詳細な情報を提供することができますか?中間点でアニメーションを開始したいだけなら、50%から始まるフルアニメーションと2つのフルエフェクトの2つのアニメーションをお勧めします。その後、クラスを使用してアニメーションを選択してください。 – OverZealous

+0

私は、ユーザーがアニメーションに沿ってスクラブすることができるスライダまたはタッチ操作を作成したいと考えています。私は、私が必要とすることをする方法を見つけるまで、アニメーションを段階的に解読して解決しました。 –

答えて

18

animation-delayプロパティを使用できます。通常、アニメーションはしばらくの間遅れます.に設定すると、アニメーションを要素に適用してから2秒後にアニメーションが開始されます。しかし、あなたはまた、負の値を使用して、特定のタイムシフトでアニメーションの再生を開始することを強制するためにそれを使用することができます:

.element-animation{ 
animation: animationFrames ease 4s; 
animation-delay: -2s; 
} 

http://default-value.com/blog/2012/10/start-css3-animation-from-specified-time-frame/

+2

これが選択された回答である必要があります。実装が簡単で、明確です。 – Adam

関連する問題