dポイントプレゼントキャンペーン実施中!

var j = $('#hoge').find('img');
var n = j.length;

j.load(function(){
n--;
if(n==0){
//全てのimgがロードできた。
}
});

上記の様なコードを書きました。しかし、IE6 IE8あたりですと、loadのイベントが上がってきません。

対策ありますか?

A 回答 (2件)

投稿ボタンを押した直後に思い出しましたが、


IEは一度読み込みが完了した<img>に対して、srcを変更して違う画像を読み込んだ場合にonloadイベントを呼び出しません。
もしsrcを変更して画像を読み直しているのであれば、読み込みたい画像の数だけimg要素を生成する必要が有ります。

この回答への補足

talooさん、ご回答ありがとうございます。

ご指摘の二つとも、心当たりがあります。
よいご指摘ありがとうございました。

補足日時:2012/04/16 14:15
    • good
    • 0

load()を呼び出す(onloadイベントハンドラを登録)するタイミングが遅すぎるのではないでしょうか?



各<img>を調べて.completeがtrueになっていればonloadイベントハンドラをセットせずに、n--だけ行うとどうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!