私は次のようなシナリオを持っています:
私のウェブサイトの特定のセクションには、背景画像と複数の他の画像が上に重なった位置(絶対位置を使用)の800x600セクションがあります。これらの画像の1つがクリックされると、画像はアニメーションGIFとスワップされ、何かが起こったかのように表示されます。これらのアニメーションは通常1回実行されます(ループされません)。
事前定義された「アニメーションの時間」の後、アニメーションGIFは元の静止画像に戻されます。WebページでGIFをアニメーション化する - それらを再起動する方法はありますか?
アニメーションGIFをダウンロードする時間を知る方法がないことを除いて、すべてうまくいきます。アイテムをクリックする可能性があり、完全なアニメーションの期間中は何も起こらないようです。
この問題を解決するには、十分に簡単です。イメージをあらかじめ読み込みます。そして、実際には、私はPxLoaderを使用して、必要なすべての画像をあらかじめロードしています。
しかし、これによって一部のブラウザで新しい問題が発生します。アニメーションは1回再生され、再び再生されません。 Firefoxでは正常に動作しているようです(クリックすると、アニメーションが再生されます。もう一度クリックするとアニメーションが再び再生されます)。しかし、IEでは、動作していないようです(クリックすると、アニメーションの最後のフレームが表示されます)。私は私の問題を示すためにjsFiddleを設定した
私のオプションは何ですか?次回にGIFを表示するときに、GIFを再設定するにはどうすればいいですか?
更新
私は、アニメーションGIFのためPxLoaderを置き換えるために私自身の(非常に基本的な)前ローダークラスを構築することになった、それは問題は生じません。 GIFは、それらをクリックすると正常に再生されます。つまり、私の全面的な問題はPxLoader特有のものです。今のところ私の問題は自分自身のローダーを使って "解決"されていますが、解決が必要なPxLoaderにはまだ問題があります。
画像のsrc属性をリセットしてみることもできます。それがプリロードされていれば、再度d/lする必要はなく、リセットするとgifアニメーションをリサイクルするかもしれません。 –
あなたはいつもあなたのGIFを代わりにスプライトにすることができ、div背景画像として設定し、スプライト内にフレームを直接配置し、jqueryを使ってバックグラウンド画像のy軸を調整します。あなたはアニメーションのスピードをコントロールでき、コールバックなどを行うことができます。 – zero
@ChristopherJohnson私はjsfiddleで何をしていますか?それとも、あなたが何を意味するのか誤解しましたか? –