css3アニメーションループを実行するたびに、スタイル内の変数を変更したいと思います。css3アニメーションループにランダムに追加する
たとえば次のCSSは、画面の上から下へパラシュートのグループをドロップ:
@-webkit-keyframes fall {
0% { top: -300px; opacity: 100; }
50% { opacity: 100; }
100% { top: 760px; opacity: 0; }
}
#parachute_wrap {
-webkit-animation-name: fall;
-webkit-animation-iteration-count: infinite;
-webkit-animation-duration: 70s;
-webkit-animation-timing-function: linear;
}
理想しかし、私は、ランダムXに投げるしたい各ループの最後でポジション。
グループのデフォルトのスタイルがある:
#parachute_wrap {
position: absolute;
top: -300px;
left: 50%;
margin-left: 140px;
}
だから、70秒後に、私はどこでも-200pxと200pxの間のマージン左または左の属性を変更したいと思います。
$('#parachute_wrap').everyTime (70000, function(){
$("#parachute_wrap").css({left: Math.floor(Math.random() * 51) + 5 + '%'},0);
});
しかし、これを行うには、JSにCSSループを結びつけるための方法があります:
I)は、(私はjQueryと毎回でこのような何かを行うことができます理解できますか?すなわち、jsがアニメーションとの完璧な同期のために聴くことができる任意の種類のリターンコールがあるか? 70秒タイマーでJSを使用すると、タイミングが正しく同期されず、CSSアニメーションの途中でjsがタイムループを実行し、パラシュートがその半分の周りをジャンプすることになることが懸念されますアニメーションの途中で
これにどのようにアプローチしますか?
同期があなたの唯一の心配であるならば、あなたは、あなたが、 '$(文書)の内側にしたい要素に割り当て、クラスにIDから' parachute_wrap' CSSを変更することができます.ready () 'イベントの直後に' .ready() 'の中にタイマーを設定します。周囲には簡単な方法があるかもしれませんが、これは今私が考えることです。 –
これは[この質問](http://stackoverflow.com/questions/4797675/how-do-i-re-trigger-a-webkit-css-animation-via-javascript)とほぼ同じです。受け入れられた答えは道を先取りするようです。 –