2012-12-15 37 views
7

當它被加載,這樣做我可以加載圖像:jquery的DIV當所有的圖像加載

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

但我要的是加載div時所有IMG被加載,但是這是不工作,爲什麼? :

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

爲什麼你使用'.css()'? '.show()'工作得很好。 – bobthyasian

回答

16

正如@Kolink所說,div不加載。此代碼將顯示div內所有圖像加載時的div。 (未經測試)

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>元素不加載,圖像做。你想聽圖像加載時,然後得到<div>並顯示它。

0

我知道爲時已晚來回答這個問題,但任何人查看此主題,有一個簡單易用的jQuery插件,有很多其他技巧來完成這項工作。 You can check it out here。 然後檢查所有圖像加載,你只需要這樣做

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