質問

私は最近、実際の画像がロードされるまでロードIMGを表示できる小さなjQueryスニペットを行いました。

スニペットは、firefoxではなくサファリ、クロムで動作しているようです。

Firefoxはaのみを表示します loading Altと決してロードされた画像に切り替えません。

これがスニペットです

var loading = $('<img src="/media/ajax-loader.gif" alt="loading" />');
    $('.thumbnail').each(function(){
        var loadIMG = loading.clone();
            $(this).after(loadIMG).load(function(){
                $(this).fadeIn('fast');
                loadIMG.hide();
        }).hide();
    });

何かアイデアはなぜですか?

役に立ちましたか?

解決

あなたはFFで正確に何が起こっているのかを言っていませんが、以下は問題の1つです。から jQueryドキュメント

画像がブラウザキャッシュからロードされている場合、ロードイベントがトリガーされない可能性があります。この可能性を説明するために、画像の準備ができた場合にすぐに発射する特別な負荷イベントを使用できます。 Event.special.loadは現在、プラグインとして利用できます。

これが次のとおりです リンク プラグイン用。

編集:

ロードイベントからのコメントに基づいて、以下をお試しください。

$('.thumbnail').each(function(){
        var loadIMG = loading.clone();
            $(this).after(loadIMG).load(function(){
                $(this).fadeIn('fast');
                loadIMG.hide();
        }).hide();
        if (this.complete) $(this).trigger("load");
});

もちろん、プラグインは他のいくつかのシナリオや他のシナリオを処理することとともに同じことをしているようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top