1 つの HTML ページに多数の<img>
タグがあり、そのうちのいくつかは同じアニメーション GIF ファイルを共有しています。URLはsrc
JavaScript によって動的に設定されますが、私のコードでは同じ文字がすべて再生されるか、次の文字が最後のフレームですぐに表示されます。
アイデア:これはアート プロジェクト用です。いくつかのテキストが入力された後、文字は特別なフォントで表示され、アニメーション GIF を使用することによってのみ実現できる文字ごとに (次々に) トランジションが行われます。テキストは 1 文字に分割され、<img>
タグは次のように作成されます。
<!-- delivered HTML at page load -->
<img src="initial/f.png"> <!-- I used to PNG here to outline -->
<img src="initial/o.png"> <!-- the animation is NOT set a first -->
<img src="initial/o.png">
アニメーションが始まると、最初<img>
の URL は に設定されtransition/f.gif
ます。再生が終了した後でのみ (時間によって決定されます)、2 番目の画像が設定されます。
<!-- while 2nd animation is running -->
<img src="transition/f.gif"> <!-- already finished, displays last frame -->
<img src="transition/o.gif"> <!-- being animated right now -->
<img src="transition/o.png"> <!-- will be reset to o.gif in next step -->
私が解決できない問題:o.gif
例から再生された後、次の O のアニメーションが正しく動作しません。
すべてのキャラクターのクラスを定義し、画像を として割り当ててみましたbackground-image
。キャラクターの出現が再生されると、同じ文字の後続の出現が表示されるとすぐにそのGIFの最後のフレーム(終了状態)が表示されました。
JavaScript で属性を直接設定してみましsrc
たが、このように 2 番目の文字 O を設定すると、最初の文字 O のアニメーションが同期して再起動します。ただし、最後のフレームにとどまります。
HTMLページはローカルファイルシステムでも動作するはずなので、キャッシュメカニズムをバイパスするなどの引数は機能しないか、何の効果もないと思いますo.gif?random=argument
(一部のコンピューターでは、自分でテストしても改ざんされないかもしれません)。