2010-11-29 24 views
0

Hallo Ich habe diese Callback-Funktion, wenn ein Bild auf den Server hochgeladen wird, und ich möchte dann als Miniaturansicht durch ein PHP-Skriptladen dynamisch generierte Bilder aus dem Cache

'onComplete' : function(event, ID, fileObj, name,response, data) { 
      var newfile = '/admin/includes/image.php?filename='+name+'&maxw=150'; 
      $('#uploaded_images').append('<li class="'+ID+'"><img src="/site_images/ajax-loader.gif"" alt="" /></li>').fadeIn('fast'); 
      $.get(newfile, function(){ 
       $('.'+ID).fadeOut().empty(); 
       $("."+ID).append('<img src="'+newfile+'" alt="" />').fadeIn(); 


}); 

die“.get generiert dieses Bild zeigen, "jquery Funktion soll das img Tag nur anzeigen, nachdem das Bild geladen wurde (und es tut) das Problem ist, dass wenn ich das img Tag drucke, das Bild wieder geladen wird. Dies verschwindet praktisch nur im "Container" des Bildes. Das Bild wird weiterhin nur angezeigt, wenn es geladen ist und keinen Effekt hat. Gibt es eine Möglichkeit, dass ich das Skript so arrangieren kann, dass das mit "get" gecachete Bild verwendet wird oder dass tatsächlich alles nur gedruckt wird, wenn das Bild direkt geladen wird?

Danke

Antwort

1

Statt $.get(), das .load() Ereignis des Bildes verwenden, wie folgt aus:

$("<img />").load(function() { 
    var img = this; 
    $('.'+ID).fadeOut(function() { $(this).html(img); }).fadeIn(); 
}).attr("src", newfile); 

Was das bedeutet, wenn das Bildelement wir fertig geladen erstellen, verblassen die .ID Element, wenn die Fade beendet ist, setzen sie den Inhalt an das <img> Element (.html(elem) ist eine Abkürzung für .empty().append()), dann verblassen wieder in.

+0

was $ tut (“ ") tun? –

+0

@Sandro - es erstellt ein Bildelement, um den Browser zu gehen und es zu bekommen :) –

+0

Hallo, es funktioniert gut, aber ich versuche immer noch, es zu verstehen, weil ich immer load() in einem Element verwendet habe, das war schon auf der Seite. Wie kann das Bild fadeIn, wenn das Attribut src danach hinzugefügt wird? –

Verwandte Themen