2012-12-15 10 views
7

ich ein Bild laden kann, wenn es geladen wird, indem:jquery div wenn alle Bilder geladen

<img style="display:none;" src="big3.jpg"> 
<script type="text/javascript"> 
    $('img').load(function(){ 
     $(this).css({'display':'block'}) 
    }); 
</script> 

Aber was ich will, ist das div zu laden, wenn alle img geladen wird, aber dies nicht funktioniert, Warum? :

+0

tun Warum Sie verwenden 'css()'? '.show()' funktioniert gut. – bobthyasian

Antwort

16

Wie @Kolink sagte, divs laden nicht. Dieser Code zeigt das Div an, wenn alle Bilder im div geladen sind. (Ungetestet)

var $images = $('div img'); 
var loaded_images_count = 0; 

$images.load(function(){ 
    loaded_images_count++; 

    if (loaded_images_count == $images.length) { 
     $("div").show(); 
    } 
}); 
1

<div> Elemente laden nicht, Bilder tun. Sie möchten darauf achten, wann das Bild geladen wird, und dann die <div> abrufen und anzeigen.

0

Ich weiß es zu spät ist, diese Frage zu beantworten, aber für jedermann betrachten dieses Themas, gibt es eine einfache und leicht jQuery-Plugin mit vielen anderen Tricks zu verwenden, um den Job zu erledigen. You can check it out here. dann alle Bild Last für die Überprüfung, müssen Sie ihn nur

$('#container').imagesLoaded() 
    .always(function(instance) { 
    console.log('all images loaded'); 
    }) 
Verwandte Themen