1

100ミリ秒ごとに画像のsrcを置き換えることにより、Javascriptを使用してアニメーションPNGを実装しようとしています。正常に表示されますが、Firefox で実行したままにしておくと、徐々にメモリを消費することがわかりました。

これは私がアニメーションを再生するために使用するループですが、それについて素晴らしいことは何もないと思います -

self.next = function() {
    if(self.doPlay == true) {
        self.currentFrame++;
        if(self.currentFrame >= self.numFrames) {
            self.currentFrame = 0;
            self.doPlay = self.doLoop;
        }
    }
    if(self.doPlay == true) {
        image.src = self.frames[self.currentFrame].src;
        setTimeout( self.next, self.frameDelays[self.currentFrame]);
    }
}

(ここで、frames はプリロードされた Image オブジェクトの配列です)

src の変更をコメントアウトすると、メモリ使用量は問題ありません。そうしないと、ブラウザが最終的にクラッシュするまで、メモリ使用量が際限なく上昇します。

src を変更する代わりに (バニラと jQuery の両方で) DOM から画像を削除して置き換えようとしましたが、役に立たなかったようです。

誰もがより良い方法を知っていますか?

御時間ありがとうございます :)

4

2 に答える 2

2

You ever thought about using an image only and change the scroll in the background? it's really fast and recommended

look this

http://willian.nerdti.com.br/botaoImagem.html

于 2012-05-15T04:40:41.987 に答える