2

jQuery 1.7.2 に小さなスクリプトがあります。基本的に、サムネイルを表示し、読み込まれると完全な画像に置き換えられます。

<img src="http://site.com/thumbnail.jpg" data-original="http://site.com/original.jpg"  class="preload">

jQuery内では、私は単純に次のものを持っています:

$('.preload').load(function(){

     $(this).attr('src', $(this).attr("data-original"));

});

これは、Firefox、Chrome、さらには IE8 などのブラウザーでも問題なく動作します。ただし、IE7 は引き続き

Stack overflow at line: 0

エラー (プリロード クラスを持つ要素の数を乗算)。

画像からクラスを削除すると、エラーは表示されません。

ありがとう

4

1 に答える 1

2

イメージで onload イベントを実行してから、イメージ SRC を変更して、onload が再び起動するようにします。無限ループに陥っているため、スタックオーバーフローが発生しています。

  $('.preload').load(function(){
    if($(this).attr('src') != $(this).attr("alt")){
         $(this).attr('src', $(this).attr("alt"));
    }
  });
于 2012-07-05T17:14:01.443 に答える