css でも宣言されていないアニメーションを明示的に割り当てることができないため、シナリオは少し複雑です。つまり、サンプルでは「移動」アニメーションを宣言しています。
そうは言っても、実行時にスタイルシートを生成できます。次の CSS ルールを生成するのはかなり簡単です。
@-webkit-keyframes moveA{/*keyframes*/}
#smokeA {-webkit-animation: moveA 5s infinite; }
@-webkit-keyframes moveB{/*keyframes*/}
#smokeB {-webkit-animation: moveB 5s infinite; }
...
head
そして、次のようにドキュメントに追加できます。
$('head').append('<style type="text/css">/*css rules here*/</style>');
概念実証(ページ読み込みの 5 秒後にかなりひどいスタイルが追加されます)
注意: GPU アクセラレーションを有効にすると、Chrome で FPS カウンターがトリガーされることに気付きました。これは、jQuery アニメーションと比較して、実際にはこれがより優れたパフォーマンスのアプローチであると推測することにつながります。
アップデート:
数秒ごとにスタイルの値を変更しようとしている Katti のコメントを見てください。固定されたアニメーションのサブセットのみを生成することでうまくいく可能性があります。このシナリオでは、蝉の原則が非常に当てはまります。記事を読むときは、グラフィカルなパターンではなく動きを考えてください。真にランダムなアニメーションは、非常に大量の小さなパーティクルに適用しない限り (ブラウザを殺す可能性があります)、リアルに見えません。