2010-12-14 14 views

Odpowiedz

4

Impreza obciążenie jest zwolniony tylko wtedy, gdy obraz jest poprawny:

$('.userFeatureProductImage').hide(); 
$('.userFeatureProductImage img').load(function() { 
    $(this).closest('.userFeatureProductImage').show(); 
}); 
2

Użyj zdarzenie error która jest wywoływana, gdy wystąpi błąd z obrazka:

$(".userFeatureProductImage img").error(function(){ 
    $(this).parent().hide(); 
}); 

Przykład: http://jsfiddle.net/jonathon/vWwpc/

+0

To nie wydaje się działać dla mnie ... http://jsfiddle.net/UzEKZ/1/; Dokumentacja sprawia, że ​​brzmi tak, jakby ukrywała tylko ikonę uszkodzonego obrazu dla użytkowników IE. – Yahel

+0

Cześć to nie działa również dla mnie. tylko zastanawiasz się, czy to po prostu ukryć obraz zamiast div rodziców? –

+0

cześć, do pracy, $ (". UserFeatureProductImage img"). Error (function() { $ (this) .parent(). Hide(); }); –

2

Możesz spróbować czegoś takiego:

<script type="text/javascript" 
     src="http://code.jquery.com/jquery-1.4.4.min.js"></script> 
<script type="text/javascript"> 
    function hideBrokenImage(id) { 
      $(id.+"userFeatureProductImage").hide(); 
    } 
</script> 
<div id="imageFilename" class="userFeatureProductImage"> 
    <img src="imageFilename.gif" onerror="hideBrokenImage(imageFilename);" /> 
</div> 

Gdzie imageFilename jest oczywiście dynamicznie tworzony.