2011-12-15 7 views
0
$.post("service.php", { GetStartpageImages : true },function(data) { 

    $.each(data,function(i, value){ 

     var path = "uploads/thumb_" + value.Filename; 

     $('.startpage-images').append(
     '<div class="imagewrapper clearfix">' + 
      '<a class="imagelink" href="?p=photo&id=' + value.ID + '">' + 
       '<img src="'+ path +'"/></a>' + 
       '<div class="imageinfo alpha70">'+ value.UploadTimestamp +'</div>' + 
      '</a>' + 
     '</div>'); 

    }); 
}); 

一度ロードしたら表示できますか? $(window).load..私のために働いていない。ajaxを使用して追加された画像を待つ

$.post("service.php", { GetStartpageImages : true },function(data) { 

    $.each(data,function(i, value){ 

     var path = "uploads/thumb_" + value.Filename; 

     $('.startpage-images').append('<div class="imagewrapper clearfix">' + 
     '<a class="imagelink" href="?p=photo&id=' + value.ID + '">' + 
      '<img src="'+ path +'"/></a>' + 
      '<div class="imageinfo alpha70">'+ value.UploadTimestamp +'</div>' + 
     '</a>' + 
     '</div>'); 


     function imgLoadCallback(){ 
      $('.imagewrapper').show(); 
     } 

     var img = new Image(); 
     img.addEventListener('load', imgLoadCallback, false); 
     img.src = path; 


    }); 
}); 

:ありがとう

答えて

1

にそれを設定します。この

$.each(data,function(i, value){ 
    var path = "uploads/thumb_" + value.Filename; 
    $('.startpage-images').append(
    '<div class="imagewrapper clearfix">' + 
     '<a class="imagelink" href="?p=photo&id=' + value.ID + '">' + 
     '<img data-src="'+ path +'"/></a>' + 
      '<div class="imageinfo alpha70">'+ value.UploadTimestamp +'</div>' + 
      '</a>' + 
     '</div>'); 
}); 

$('.startpage-images img').each(function() { 
    $(this).attr("src", $(this).attr("data-src")); 
}); 

ような何かをするだろう上記のコードは、あなたのCSSには.imagewrapper {display:none}があることを前提としています。イメージが完全に読み込まれると、imgLoadCallback()が呼び出されます。ユーザーがキャッシュにイメージを持っていても、そのイメージはまだ呼び出されます(その場合は直ちに)。

+0

ありがとう、しかし、私は違いを気付くことはできません:/ http://83.254.112.18/fotosida/ – Johan

+0

私は言うことができる私のコードが動作します。私は最近このようなことを今朝使った。 1つではなく、複数の画像を読み込んでいるようです。私はあなたを助けるためのコードを投稿する必要がありません。 – maxedison

+0

問題はあなたのコードではないので、すべてこれを受け入れる - それは失敗するロードイベントだった上記のhtmlです。これは誰かのために便利かもしれません:) Thnaks助けて! – Johan

0

私はので、私はこれはそれを行う必要がありますATTR data-srcを設定し、最後にsrc

+0

ありがとうございますが、結果は変わりません。リンク:http://83.254.112.18/fotosida/。キャッシュをクリアし、自分で参照してください。 – Johan

0
'<div class="imageinfo alpha70">'+ value.UploadTimestamp +'</div>' 

これがなければ.loadメソッドが機能しました。なぜか、何かjqueryのバグかもしれません。

関連する問題