2012-12-15 45 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

जैसा कि @ कोलिंक ने कहा, divs लोड नहीं होता है। यह कोड div दिखाएगा जब div के अंदर की सभी छवियां लोड हो गई हैं। (Untested)

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'); 
    })